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