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.retail.v2; 18 19 import com.google.api.core.ApiFunction; 20 import com.google.api.core.BetaApi; 21 import com.google.api.gax.core.GoogleCredentialsProvider; 22 import com.google.api.gax.core.InstantiatingExecutorProvider; 23 import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; 24 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; 25 import com.google.api.gax.rpc.ApiClientHeaderProvider; 26 import com.google.api.gax.rpc.ClientContext; 27 import com.google.api.gax.rpc.ClientSettings; 28 import com.google.api.gax.rpc.OperationCallSettings; 29 import com.google.api.gax.rpc.TransportChannelProvider; 30 import com.google.api.gax.rpc.UnaryCallSettings; 31 import com.google.cloud.retail.v2.stub.CompletionServiceStubSettings; 32 import com.google.longrunning.Operation; 33 import java.io.IOException; 34 import java.util.List; 35 import javax.annotation.Generated; 36 37 // AUTO-GENERATED DOCUMENTATION AND CLASS. 38 /** 39 * Settings class to configure an instance of {@link CompletionServiceClient}. 40 * 41 * <p>The default instance has everything set to sensible defaults: 42 * 43 * <ul> 44 * <li>The default service address (retail.googleapis.com) and default port (443) are used. 45 * <li>Credentials are acquired automatically through Application Default Credentials. 46 * <li>Retries are configured for idempotent methods but not for non-idempotent methods. 47 * </ul> 48 * 49 * <p>The builder of this class is recursive, so contained classes are themselves builders. When 50 * build() is called, the tree of builders is called to create the complete settings object. 51 * 52 * <p>For example, to set the total timeout of completeQuery to 30 seconds: 53 * 54 * <pre>{@code 55 * // This snippet has been automatically generated and should be regarded as a code template only. 56 * // It will require modifications to work: 57 * // - It may require correct/in-range values for request initialization. 58 * // - It may require specifying regional endpoints when creating the service client as shown in 59 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 60 * CompletionServiceSettings.Builder completionServiceSettingsBuilder = 61 * CompletionServiceSettings.newBuilder(); 62 * completionServiceSettingsBuilder 63 * .completeQuerySettings() 64 * .setRetrySettings( 65 * completionServiceSettingsBuilder 66 * .completeQuerySettings() 67 * .getRetrySettings() 68 * .toBuilder() 69 * .setTotalTimeout(Duration.ofSeconds(30)) 70 * .build()); 71 * CompletionServiceSettings completionServiceSettings = completionServiceSettingsBuilder.build(); 72 * }</pre> 73 */ 74 @Generated("by gapic-generator-java") 75 public class CompletionServiceSettings extends ClientSettings<CompletionServiceSettings> { 76 77 /** Returns the object with the settings used for calls to completeQuery. */ completeQuerySettings()78 public UnaryCallSettings<CompleteQueryRequest, CompleteQueryResponse> completeQuerySettings() { 79 return ((CompletionServiceStubSettings) getStubSettings()).completeQuerySettings(); 80 } 81 82 /** Returns the object with the settings used for calls to importCompletionData. */ importCompletionDataSettings()83 public UnaryCallSettings<ImportCompletionDataRequest, Operation> importCompletionDataSettings() { 84 return ((CompletionServiceStubSettings) getStubSettings()).importCompletionDataSettings(); 85 } 86 87 /** Returns the object with the settings used for calls to importCompletionData. */ 88 public OperationCallSettings< 89 ImportCompletionDataRequest, ImportCompletionDataResponse, ImportMetadata> importCompletionDataOperationSettings()90 importCompletionDataOperationSettings() { 91 return ((CompletionServiceStubSettings) getStubSettings()) 92 .importCompletionDataOperationSettings(); 93 } 94 create(CompletionServiceStubSettings stub)95 public static final CompletionServiceSettings create(CompletionServiceStubSettings stub) 96 throws IOException { 97 return new CompletionServiceSettings.Builder(stub.toBuilder()).build(); 98 } 99 100 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()101 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 102 return CompletionServiceStubSettings.defaultExecutorProviderBuilder(); 103 } 104 105 /** Returns the default service endpoint. */ getDefaultEndpoint()106 public static String getDefaultEndpoint() { 107 return CompletionServiceStubSettings.getDefaultEndpoint(); 108 } 109 110 /** Returns the default service scopes. */ getDefaultServiceScopes()111 public static List<String> getDefaultServiceScopes() { 112 return CompletionServiceStubSettings.getDefaultServiceScopes(); 113 } 114 115 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()116 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 117 return CompletionServiceStubSettings.defaultCredentialsProviderBuilder(); 118 } 119 120 /** Returns a builder for the default gRPC ChannelProvider for this service. */ defaultGrpcTransportProviderBuilder()121 public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { 122 return CompletionServiceStubSettings.defaultGrpcTransportProviderBuilder(); 123 } 124 125 /** Returns a builder for the default REST ChannelProvider for this service. */ 126 @BetaApi 127 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()128 defaultHttpJsonTransportProviderBuilder() { 129 return CompletionServiceStubSettings.defaultHttpJsonTransportProviderBuilder(); 130 } 131 defaultTransportChannelProvider()132 public static TransportChannelProvider defaultTransportChannelProvider() { 133 return CompletionServiceStubSettings.defaultTransportChannelProvider(); 134 } 135 136 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultApiClientHeaderProviderBuilder()137 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 138 return CompletionServiceStubSettings.defaultApiClientHeaderProviderBuilder(); 139 } 140 141 /** Returns a new gRPC builder for this class. */ newBuilder()142 public static Builder newBuilder() { 143 return Builder.createDefault(); 144 } 145 146 /** Returns a new REST builder for this class. */ 147 @BetaApi newHttpJsonBuilder()148 public static Builder newHttpJsonBuilder() { 149 return Builder.createHttpJsonDefault(); 150 } 151 152 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)153 public static Builder newBuilder(ClientContext clientContext) { 154 return new Builder(clientContext); 155 } 156 157 /** Returns a builder containing all the values of this settings class. */ toBuilder()158 public Builder toBuilder() { 159 return new Builder(this); 160 } 161 CompletionServiceSettings(Builder settingsBuilder)162 protected CompletionServiceSettings(Builder settingsBuilder) throws IOException { 163 super(settingsBuilder); 164 } 165 166 /** Builder for CompletionServiceSettings. */ 167 public static class Builder extends ClientSettings.Builder<CompletionServiceSettings, Builder> { 168 Builder()169 protected Builder() throws IOException { 170 this(((ClientContext) null)); 171 } 172 Builder(ClientContext clientContext)173 protected Builder(ClientContext clientContext) { 174 super(CompletionServiceStubSettings.newBuilder(clientContext)); 175 } 176 Builder(CompletionServiceSettings settings)177 protected Builder(CompletionServiceSettings settings) { 178 super(settings.getStubSettings().toBuilder()); 179 } 180 Builder(CompletionServiceStubSettings.Builder stubSettings)181 protected Builder(CompletionServiceStubSettings.Builder stubSettings) { 182 super(stubSettings); 183 } 184 createDefault()185 private static Builder createDefault() { 186 return new Builder(CompletionServiceStubSettings.newBuilder()); 187 } 188 189 @BetaApi createHttpJsonDefault()190 private static Builder createHttpJsonDefault() { 191 return new Builder(CompletionServiceStubSettings.newHttpJsonBuilder()); 192 } 193 getStubSettingsBuilder()194 public CompletionServiceStubSettings.Builder getStubSettingsBuilder() { 195 return ((CompletionServiceStubSettings.Builder) getStubSettings()); 196 } 197 198 /** 199 * Applies the given settings updater function to all of the unary API methods in this service. 200 * 201 * <p>Note: This method does not support applying settings to streaming methods. 202 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)203 public Builder applyToAllUnaryMethods( 204 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 205 super.applyToAllUnaryMethods( 206 getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); 207 return this; 208 } 209 210 /** Returns the builder for the settings used for calls to completeQuery. */ 211 public UnaryCallSettings.Builder<CompleteQueryRequest, CompleteQueryResponse> completeQuerySettings()212 completeQuerySettings() { 213 return getStubSettingsBuilder().completeQuerySettings(); 214 } 215 216 /** Returns the builder for the settings used for calls to importCompletionData. */ 217 public UnaryCallSettings.Builder<ImportCompletionDataRequest, Operation> importCompletionDataSettings()218 importCompletionDataSettings() { 219 return getStubSettingsBuilder().importCompletionDataSettings(); 220 } 221 222 /** Returns the builder for the settings used for calls to importCompletionData. */ 223 public OperationCallSettings.Builder< 224 ImportCompletionDataRequest, ImportCompletionDataResponse, ImportMetadata> importCompletionDataOperationSettings()225 importCompletionDataOperationSettings() { 226 return getStubSettingsBuilder().importCompletionDataOperationSettings(); 227 } 228 229 @Override build()230 public CompletionServiceSettings build() throws IOException { 231 return new CompletionServiceSettings(this); 232 } 233 } 234 } 235