• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.webrisk.v1.stub;
18 
19 import com.google.api.gax.core.BackgroundResource;
20 import com.google.api.gax.core.BackgroundResourceAggregation;
21 import com.google.api.gax.grpc.GrpcCallSettings;
22 import com.google.api.gax.grpc.GrpcStubCallableFactory;
23 import com.google.api.gax.rpc.ClientContext;
24 import com.google.api.gax.rpc.UnaryCallable;
25 import com.google.common.collect.ImmutableMap;
26 import com.google.longrunning.stub.GrpcOperationsStub;
27 import com.google.webrisk.v1.ComputeThreatListDiffRequest;
28 import com.google.webrisk.v1.ComputeThreatListDiffResponse;
29 import com.google.webrisk.v1.CreateSubmissionRequest;
30 import com.google.webrisk.v1.SearchHashesRequest;
31 import com.google.webrisk.v1.SearchHashesResponse;
32 import com.google.webrisk.v1.SearchUrisRequest;
33 import com.google.webrisk.v1.SearchUrisResponse;
34 import com.google.webrisk.v1.Submission;
35 import io.grpc.MethodDescriptor;
36 import io.grpc.protobuf.ProtoUtils;
37 import java.io.IOException;
38 import java.util.concurrent.TimeUnit;
39 import javax.annotation.Generated;
40 
41 // AUTO-GENERATED DOCUMENTATION AND CLASS.
42 /**
43  * gRPC stub implementation for the WebRiskService service API.
44  *
45  * <p>This class is for advanced usage and reflects the underlying API directly.
46  */
47 @Generated("by gapic-generator-java")
48 public class GrpcWebRiskServiceStub extends WebRiskServiceStub {
49   private static final MethodDescriptor<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse>
50       computeThreatListDiffMethodDescriptor =
51           MethodDescriptor.<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse>newBuilder()
52               .setType(MethodDescriptor.MethodType.UNARY)
53               .setFullMethodName("google.cloud.webrisk.v1.WebRiskService/ComputeThreatListDiff")
54               .setRequestMarshaller(
55                   ProtoUtils.marshaller(ComputeThreatListDiffRequest.getDefaultInstance()))
56               .setResponseMarshaller(
57                   ProtoUtils.marshaller(ComputeThreatListDiffResponse.getDefaultInstance()))
58               .build();
59 
60   private static final MethodDescriptor<SearchUrisRequest, SearchUrisResponse>
61       searchUrisMethodDescriptor =
62           MethodDescriptor.<SearchUrisRequest, SearchUrisResponse>newBuilder()
63               .setType(MethodDescriptor.MethodType.UNARY)
64               .setFullMethodName("google.cloud.webrisk.v1.WebRiskService/SearchUris")
65               .setRequestMarshaller(ProtoUtils.marshaller(SearchUrisRequest.getDefaultInstance()))
66               .setResponseMarshaller(ProtoUtils.marshaller(SearchUrisResponse.getDefaultInstance()))
67               .build();
68 
69   private static final MethodDescriptor<SearchHashesRequest, SearchHashesResponse>
70       searchHashesMethodDescriptor =
71           MethodDescriptor.<SearchHashesRequest, SearchHashesResponse>newBuilder()
72               .setType(MethodDescriptor.MethodType.UNARY)
73               .setFullMethodName("google.cloud.webrisk.v1.WebRiskService/SearchHashes")
74               .setRequestMarshaller(ProtoUtils.marshaller(SearchHashesRequest.getDefaultInstance()))
75               .setResponseMarshaller(
76                   ProtoUtils.marshaller(SearchHashesResponse.getDefaultInstance()))
77               .build();
78 
79   private static final MethodDescriptor<CreateSubmissionRequest, Submission>
80       createSubmissionMethodDescriptor =
81           MethodDescriptor.<CreateSubmissionRequest, Submission>newBuilder()
82               .setType(MethodDescriptor.MethodType.UNARY)
83               .setFullMethodName("google.cloud.webrisk.v1.WebRiskService/CreateSubmission")
84               .setRequestMarshaller(
85                   ProtoUtils.marshaller(CreateSubmissionRequest.getDefaultInstance()))
86               .setResponseMarshaller(ProtoUtils.marshaller(Submission.getDefaultInstance()))
87               .build();
88 
89   private final UnaryCallable<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse>
90       computeThreatListDiffCallable;
91   private final UnaryCallable<SearchUrisRequest, SearchUrisResponse> searchUrisCallable;
92   private final UnaryCallable<SearchHashesRequest, SearchHashesResponse> searchHashesCallable;
93   private final UnaryCallable<CreateSubmissionRequest, Submission> createSubmissionCallable;
94 
95   private final BackgroundResource backgroundResources;
96   private final GrpcOperationsStub operationsStub;
97   private final GrpcStubCallableFactory callableFactory;
98 
create(WebRiskServiceStubSettings settings)99   public static final GrpcWebRiskServiceStub create(WebRiskServiceStubSettings settings)
100       throws IOException {
101     return new GrpcWebRiskServiceStub(settings, ClientContext.create(settings));
102   }
103 
create(ClientContext clientContext)104   public static final GrpcWebRiskServiceStub create(ClientContext clientContext)
105       throws IOException {
106     return new GrpcWebRiskServiceStub(
107         WebRiskServiceStubSettings.newBuilder().build(), clientContext);
108   }
109 
create( ClientContext clientContext, GrpcStubCallableFactory callableFactory)110   public static final GrpcWebRiskServiceStub create(
111       ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException {
112     return new GrpcWebRiskServiceStub(
113         WebRiskServiceStubSettings.newBuilder().build(), clientContext, callableFactory);
114   }
115 
116   /**
117    * Constructs an instance of GrpcWebRiskServiceStub, using the given settings. This is protected
118    * so that it is easy to make a subclass, but otherwise, the static factory methods should be
119    * preferred.
120    */
GrpcWebRiskServiceStub(WebRiskServiceStubSettings settings, ClientContext clientContext)121   protected GrpcWebRiskServiceStub(WebRiskServiceStubSettings settings, ClientContext clientContext)
122       throws IOException {
123     this(settings, clientContext, new GrpcWebRiskServiceCallableFactory());
124   }
125 
126   /**
127    * Constructs an instance of GrpcWebRiskServiceStub, using the given settings. This is protected
128    * so that it is easy to make a subclass, but otherwise, the static factory methods should be
129    * preferred.
130    */
GrpcWebRiskServiceStub( WebRiskServiceStubSettings settings, ClientContext clientContext, GrpcStubCallableFactory callableFactory)131   protected GrpcWebRiskServiceStub(
132       WebRiskServiceStubSettings settings,
133       ClientContext clientContext,
134       GrpcStubCallableFactory callableFactory)
135       throws IOException {
136     this.callableFactory = callableFactory;
137     this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory);
138 
139     GrpcCallSettings<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse>
140         computeThreatListDiffTransportSettings =
141             GrpcCallSettings
142                 .<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse>newBuilder()
143                 .setMethodDescriptor(computeThreatListDiffMethodDescriptor)
144                 .build();
145     GrpcCallSettings<SearchUrisRequest, SearchUrisResponse> searchUrisTransportSettings =
146         GrpcCallSettings.<SearchUrisRequest, SearchUrisResponse>newBuilder()
147             .setMethodDescriptor(searchUrisMethodDescriptor)
148             .build();
149     GrpcCallSettings<SearchHashesRequest, SearchHashesResponse> searchHashesTransportSettings =
150         GrpcCallSettings.<SearchHashesRequest, SearchHashesResponse>newBuilder()
151             .setMethodDescriptor(searchHashesMethodDescriptor)
152             .build();
153     GrpcCallSettings<CreateSubmissionRequest, Submission> createSubmissionTransportSettings =
154         GrpcCallSettings.<CreateSubmissionRequest, Submission>newBuilder()
155             .setMethodDescriptor(createSubmissionMethodDescriptor)
156             .setParamsExtractor(
157                 request -> {
158                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
159                   params.put("parent", String.valueOf(request.getParent()));
160                   return params.build();
161                 })
162             .build();
163 
164     this.computeThreatListDiffCallable =
165         callableFactory.createUnaryCallable(
166             computeThreatListDiffTransportSettings,
167             settings.computeThreatListDiffSettings(),
168             clientContext);
169     this.searchUrisCallable =
170         callableFactory.createUnaryCallable(
171             searchUrisTransportSettings, settings.searchUrisSettings(), clientContext);
172     this.searchHashesCallable =
173         callableFactory.createUnaryCallable(
174             searchHashesTransportSettings, settings.searchHashesSettings(), clientContext);
175     this.createSubmissionCallable =
176         callableFactory.createUnaryCallable(
177             createSubmissionTransportSettings, settings.createSubmissionSettings(), clientContext);
178 
179     this.backgroundResources =
180         new BackgroundResourceAggregation(clientContext.getBackgroundResources());
181   }
182 
getOperationsStub()183   public GrpcOperationsStub getOperationsStub() {
184     return operationsStub;
185   }
186 
187   @Override
188   public UnaryCallable<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse>
computeThreatListDiffCallable()189       computeThreatListDiffCallable() {
190     return computeThreatListDiffCallable;
191   }
192 
193   @Override
searchUrisCallable()194   public UnaryCallable<SearchUrisRequest, SearchUrisResponse> searchUrisCallable() {
195     return searchUrisCallable;
196   }
197 
198   @Override
searchHashesCallable()199   public UnaryCallable<SearchHashesRequest, SearchHashesResponse> searchHashesCallable() {
200     return searchHashesCallable;
201   }
202 
203   @Override
createSubmissionCallable()204   public UnaryCallable<CreateSubmissionRequest, Submission> createSubmissionCallable() {
205     return createSubmissionCallable;
206   }
207 
208   @Override
close()209   public final void close() {
210     try {
211       backgroundResources.close();
212     } catch (RuntimeException e) {
213       throw e;
214     } catch (Exception e) {
215       throw new IllegalStateException("Failed to close resource", e);
216     }
217   }
218 
219   @Override
shutdown()220   public void shutdown() {
221     backgroundResources.shutdown();
222   }
223 
224   @Override
isShutdown()225   public boolean isShutdown() {
226     return backgroundResources.isShutdown();
227   }
228 
229   @Override
isTerminated()230   public boolean isTerminated() {
231     return backgroundResources.isTerminated();
232   }
233 
234   @Override
shutdownNow()235   public void shutdownNow() {
236     backgroundResources.shutdownNow();
237   }
238 
239   @Override
awaitTermination(long duration, TimeUnit unit)240   public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
241     return backgroundResources.awaitTermination(duration, unit);
242   }
243 }
244