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.compute.v1.stub; 18 19 import com.google.api.core.BetaApi; 20 import com.google.api.gax.httpjson.HttpJsonCallSettings; 21 import com.google.api.gax.httpjson.HttpJsonCallableFactory; 22 import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable; 23 import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; 24 import com.google.api.gax.httpjson.longrunning.stub.OperationsStub; 25 import com.google.api.gax.rpc.BatchingCallSettings; 26 import com.google.api.gax.rpc.ClientContext; 27 import com.google.api.gax.rpc.OperationCallSettings; 28 import com.google.api.gax.rpc.OperationCallable; 29 import com.google.api.gax.rpc.PagedCallSettings; 30 import com.google.api.gax.rpc.ServerStreamingCallSettings; 31 import com.google.api.gax.rpc.ServerStreamingCallable; 32 import com.google.api.gax.rpc.UnaryCallSettings; 33 import com.google.api.gax.rpc.UnaryCallable; 34 import com.google.longrunning.Operation; 35 import javax.annotation.Generated; 36 37 // AUTO-GENERATED DOCUMENTATION AND CLASS. 38 /** 39 * REST callable factory implementation for the LicenseCodes service API. 40 * 41 * <p>This class is for advanced usage. 42 */ 43 @Generated("by gapic-generator-java") 44 @BetaApi 45 public class HttpJsonLicenseCodesCallableFactory 46 implements HttpJsonStubCallableFactory<Operation, OperationsStub> { 47 48 @Override createUnaryCallable( HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, UnaryCallSettings<RequestT, ResponseT> callSettings, ClientContext clientContext)49 public <RequestT, ResponseT> UnaryCallable<RequestT, ResponseT> createUnaryCallable( 50 HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, 51 UnaryCallSettings<RequestT, ResponseT> callSettings, 52 ClientContext clientContext) { 53 return HttpJsonCallableFactory.createUnaryCallable( 54 httpJsonCallSettings, callSettings, clientContext); 55 } 56 57 @Override 58 public <RequestT, ResponseT, PagedListResponseT> createPagedCallable( HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, PagedCallSettings<RequestT, ResponseT, PagedListResponseT> callSettings, ClientContext clientContext)59 UnaryCallable<RequestT, PagedListResponseT> createPagedCallable( 60 HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, 61 PagedCallSettings<RequestT, ResponseT, PagedListResponseT> callSettings, 62 ClientContext clientContext) { 63 return HttpJsonCallableFactory.createPagedCallable( 64 httpJsonCallSettings, callSettings, clientContext); 65 } 66 67 @Override createBatchingCallable( HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, BatchingCallSettings<RequestT, ResponseT> callSettings, ClientContext clientContext)68 public <RequestT, ResponseT> UnaryCallable<RequestT, ResponseT> createBatchingCallable( 69 HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, 70 BatchingCallSettings<RequestT, ResponseT> callSettings, 71 ClientContext clientContext) { 72 return HttpJsonCallableFactory.createBatchingCallable( 73 httpJsonCallSettings, callSettings, clientContext); 74 } 75 76 @BetaApi( 77 "The surface for long-running operations is not stable yet and may change in the future.") 78 @Override 79 public <RequestT, ResponseT, MetadataT> createOperationCallable( HttpJsonCallSettings<RequestT, Operation> httpJsonCallSettings, OperationCallSettings<RequestT, ResponseT, MetadataT> callSettings, ClientContext clientContext, OperationsStub operationsStub)80 OperationCallable<RequestT, ResponseT, MetadataT> createOperationCallable( 81 HttpJsonCallSettings<RequestT, Operation> httpJsonCallSettings, 82 OperationCallSettings<RequestT, ResponseT, MetadataT> callSettings, 83 ClientContext clientContext, 84 OperationsStub operationsStub) { 85 UnaryCallable<RequestT, Operation> innerCallable = 86 HttpJsonCallableFactory.createBaseUnaryCallable( 87 httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext); 88 HttpJsonOperationSnapshotCallable<RequestT, Operation> initialCallable = 89 new HttpJsonOperationSnapshotCallable<RequestT, Operation>( 90 innerCallable, 91 httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory()); 92 return HttpJsonCallableFactory.createOperationCallable( 93 callSettings, clientContext, operationsStub.longRunningClient(), initialCallable); 94 } 95 96 @Override 97 public <RequestT, ResponseT> createServerStreamingCallable( HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, ServerStreamingCallSettings<RequestT, ResponseT> callSettings, ClientContext clientContext)98 ServerStreamingCallable<RequestT, ResponseT> createServerStreamingCallable( 99 HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings, 100 ServerStreamingCallSettings<RequestT, ResponseT> callSettings, 101 ClientContext clientContext) { 102 return HttpJsonCallableFactory.createServerStreamingCallable( 103 httpJsonCallSettings, callSettings, clientContext); 104 } 105 } 106