• 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.dialogflow.v2;
18 
19 import static com.google.cloud.dialogflow.v2.ConversationsClient.ListConversationsPagedResponse;
20 import static com.google.cloud.dialogflow.v2.ConversationsClient.ListLocationsPagedResponse;
21 import static com.google.cloud.dialogflow.v2.ConversationsClient.ListMessagesPagedResponse;
22 
23 import com.google.api.core.ApiFunction;
24 import com.google.api.core.BetaApi;
25 import com.google.api.gax.core.GoogleCredentialsProvider;
26 import com.google.api.gax.core.InstantiatingExecutorProvider;
27 import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
28 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
29 import com.google.api.gax.rpc.ApiClientHeaderProvider;
30 import com.google.api.gax.rpc.ClientContext;
31 import com.google.api.gax.rpc.ClientSettings;
32 import com.google.api.gax.rpc.PagedCallSettings;
33 import com.google.api.gax.rpc.TransportChannelProvider;
34 import com.google.api.gax.rpc.UnaryCallSettings;
35 import com.google.cloud.dialogflow.v2.stub.ConversationsStubSettings;
36 import com.google.cloud.location.GetLocationRequest;
37 import com.google.cloud.location.ListLocationsRequest;
38 import com.google.cloud.location.ListLocationsResponse;
39 import com.google.cloud.location.Location;
40 import java.io.IOException;
41 import java.util.List;
42 import javax.annotation.Generated;
43 
44 // AUTO-GENERATED DOCUMENTATION AND CLASS.
45 /**
46  * Settings class to configure an instance of {@link ConversationsClient}.
47  *
48  * <p>The default instance has everything set to sensible defaults:
49  *
50  * <ul>
51  *   <li>The default service address (dialogflow.googleapis.com) and default port (443) are used.
52  *   <li>Credentials are acquired automatically through Application Default Credentials.
53  *   <li>Retries are configured for idempotent methods but not for non-idempotent methods.
54  * </ul>
55  *
56  * <p>The builder of this class is recursive, so contained classes are themselves builders. When
57  * build() is called, the tree of builders is called to create the complete settings object.
58  *
59  * <p>For example, to set the total timeout of createConversation to 30 seconds:
60  *
61  * <pre>{@code
62  * // This snippet has been automatically generated and should be regarded as a code template only.
63  * // It will require modifications to work:
64  * // - It may require correct/in-range values for request initialization.
65  * // - It may require specifying regional endpoints when creating the service client as shown in
66  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
67  * ConversationsSettings.Builder conversationsSettingsBuilder = ConversationsSettings.newBuilder();
68  * conversationsSettingsBuilder
69  *     .createConversationSettings()
70  *     .setRetrySettings(
71  *         conversationsSettingsBuilder
72  *             .createConversationSettings()
73  *             .getRetrySettings()
74  *             .toBuilder()
75  *             .setTotalTimeout(Duration.ofSeconds(30))
76  *             .build());
77  * ConversationsSettings conversationsSettings = conversationsSettingsBuilder.build();
78  * }</pre>
79  */
80 @Generated("by gapic-generator-java")
81 public class ConversationsSettings extends ClientSettings<ConversationsSettings> {
82 
83   /** Returns the object with the settings used for calls to createConversation. */
createConversationSettings()84   public UnaryCallSettings<CreateConversationRequest, Conversation> createConversationSettings() {
85     return ((ConversationsStubSettings) getStubSettings()).createConversationSettings();
86   }
87 
88   /** Returns the object with the settings used for calls to listConversations. */
89   public PagedCallSettings<
90           ListConversationsRequest, ListConversationsResponse, ListConversationsPagedResponse>
listConversationsSettings()91       listConversationsSettings() {
92     return ((ConversationsStubSettings) getStubSettings()).listConversationsSettings();
93   }
94 
95   /** Returns the object with the settings used for calls to getConversation. */
getConversationSettings()96   public UnaryCallSettings<GetConversationRequest, Conversation> getConversationSettings() {
97     return ((ConversationsStubSettings) getStubSettings()).getConversationSettings();
98   }
99 
100   /** Returns the object with the settings used for calls to completeConversation. */
101   public UnaryCallSettings<CompleteConversationRequest, Conversation>
completeConversationSettings()102       completeConversationSettings() {
103     return ((ConversationsStubSettings) getStubSettings()).completeConversationSettings();
104   }
105 
106   /** Returns the object with the settings used for calls to listMessages. */
107   public PagedCallSettings<ListMessagesRequest, ListMessagesResponse, ListMessagesPagedResponse>
listMessagesSettings()108       listMessagesSettings() {
109     return ((ConversationsStubSettings) getStubSettings()).listMessagesSettings();
110   }
111 
112   /** Returns the object with the settings used for calls to suggestConversationSummary. */
113   public UnaryCallSettings<SuggestConversationSummaryRequest, SuggestConversationSummaryResponse>
suggestConversationSummarySettings()114       suggestConversationSummarySettings() {
115     return ((ConversationsStubSettings) getStubSettings()).suggestConversationSummarySettings();
116   }
117 
118   /** Returns the object with the settings used for calls to generateStatelessSummary. */
119   public UnaryCallSettings<GenerateStatelessSummaryRequest, GenerateStatelessSummaryResponse>
generateStatelessSummarySettings()120       generateStatelessSummarySettings() {
121     return ((ConversationsStubSettings) getStubSettings()).generateStatelessSummarySettings();
122   }
123 
124   /** Returns the object with the settings used for calls to listLocations. */
125   public PagedCallSettings<ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
listLocationsSettings()126       listLocationsSettings() {
127     return ((ConversationsStubSettings) getStubSettings()).listLocationsSettings();
128   }
129 
130   /** Returns the object with the settings used for calls to getLocation. */
getLocationSettings()131   public UnaryCallSettings<GetLocationRequest, Location> getLocationSettings() {
132     return ((ConversationsStubSettings) getStubSettings()).getLocationSettings();
133   }
134 
create(ConversationsStubSettings stub)135   public static final ConversationsSettings create(ConversationsStubSettings stub)
136       throws IOException {
137     return new ConversationsSettings.Builder(stub.toBuilder()).build();
138   }
139 
140   /** Returns a builder for the default ExecutorProvider for this service. */
defaultExecutorProviderBuilder()141   public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
142     return ConversationsStubSettings.defaultExecutorProviderBuilder();
143   }
144 
145   /** Returns the default service endpoint. */
getDefaultEndpoint()146   public static String getDefaultEndpoint() {
147     return ConversationsStubSettings.getDefaultEndpoint();
148   }
149 
150   /** Returns the default service scopes. */
getDefaultServiceScopes()151   public static List<String> getDefaultServiceScopes() {
152     return ConversationsStubSettings.getDefaultServiceScopes();
153   }
154 
155   /** Returns a builder for the default credentials for this service. */
defaultCredentialsProviderBuilder()156   public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
157     return ConversationsStubSettings.defaultCredentialsProviderBuilder();
158   }
159 
160   /** Returns a builder for the default gRPC ChannelProvider for this service. */
defaultGrpcTransportProviderBuilder()161   public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
162     return ConversationsStubSettings.defaultGrpcTransportProviderBuilder();
163   }
164 
165   /** Returns a builder for the default REST ChannelProvider for this service. */
166   @BetaApi
167   public static InstantiatingHttpJsonChannelProvider.Builder
defaultHttpJsonTransportProviderBuilder()168       defaultHttpJsonTransportProviderBuilder() {
169     return ConversationsStubSettings.defaultHttpJsonTransportProviderBuilder();
170   }
171 
defaultTransportChannelProvider()172   public static TransportChannelProvider defaultTransportChannelProvider() {
173     return ConversationsStubSettings.defaultTransportChannelProvider();
174   }
175 
176   @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
defaultApiClientHeaderProviderBuilder()177   public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
178     return ConversationsStubSettings.defaultApiClientHeaderProviderBuilder();
179   }
180 
181   /** Returns a new gRPC builder for this class. */
newBuilder()182   public static Builder newBuilder() {
183     return Builder.createDefault();
184   }
185 
186   /** Returns a new REST builder for this class. */
187   @BetaApi
newHttpJsonBuilder()188   public static Builder newHttpJsonBuilder() {
189     return Builder.createHttpJsonDefault();
190   }
191 
192   /** Returns a new builder for this class. */
newBuilder(ClientContext clientContext)193   public static Builder newBuilder(ClientContext clientContext) {
194     return new Builder(clientContext);
195   }
196 
197   /** Returns a builder containing all the values of this settings class. */
toBuilder()198   public Builder toBuilder() {
199     return new Builder(this);
200   }
201 
ConversationsSettings(Builder settingsBuilder)202   protected ConversationsSettings(Builder settingsBuilder) throws IOException {
203     super(settingsBuilder);
204   }
205 
206   /** Builder for ConversationsSettings. */
207   public static class Builder extends ClientSettings.Builder<ConversationsSettings, Builder> {
208 
Builder()209     protected Builder() throws IOException {
210       this(((ClientContext) null));
211     }
212 
Builder(ClientContext clientContext)213     protected Builder(ClientContext clientContext) {
214       super(ConversationsStubSettings.newBuilder(clientContext));
215     }
216 
Builder(ConversationsSettings settings)217     protected Builder(ConversationsSettings settings) {
218       super(settings.getStubSettings().toBuilder());
219     }
220 
Builder(ConversationsStubSettings.Builder stubSettings)221     protected Builder(ConversationsStubSettings.Builder stubSettings) {
222       super(stubSettings);
223     }
224 
createDefault()225     private static Builder createDefault() {
226       return new Builder(ConversationsStubSettings.newBuilder());
227     }
228 
229     @BetaApi
createHttpJsonDefault()230     private static Builder createHttpJsonDefault() {
231       return new Builder(ConversationsStubSettings.newHttpJsonBuilder());
232     }
233 
getStubSettingsBuilder()234     public ConversationsStubSettings.Builder getStubSettingsBuilder() {
235       return ((ConversationsStubSettings.Builder) getStubSettings());
236     }
237 
238     /**
239      * Applies the given settings updater function to all of the unary API methods in this service.
240      *
241      * <p>Note: This method does not support applying settings to streaming methods.
242      */
applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)243     public Builder applyToAllUnaryMethods(
244         ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
245       super.applyToAllUnaryMethods(
246           getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
247       return this;
248     }
249 
250     /** Returns the builder for the settings used for calls to createConversation. */
251     public UnaryCallSettings.Builder<CreateConversationRequest, Conversation>
createConversationSettings()252         createConversationSettings() {
253       return getStubSettingsBuilder().createConversationSettings();
254     }
255 
256     /** Returns the builder for the settings used for calls to listConversations. */
257     public PagedCallSettings.Builder<
258             ListConversationsRequest, ListConversationsResponse, ListConversationsPagedResponse>
listConversationsSettings()259         listConversationsSettings() {
260       return getStubSettingsBuilder().listConversationsSettings();
261     }
262 
263     /** Returns the builder for the settings used for calls to getConversation. */
264     public UnaryCallSettings.Builder<GetConversationRequest, Conversation>
getConversationSettings()265         getConversationSettings() {
266       return getStubSettingsBuilder().getConversationSettings();
267     }
268 
269     /** Returns the builder for the settings used for calls to completeConversation. */
270     public UnaryCallSettings.Builder<CompleteConversationRequest, Conversation>
completeConversationSettings()271         completeConversationSettings() {
272       return getStubSettingsBuilder().completeConversationSettings();
273     }
274 
275     /** Returns the builder for the settings used for calls to listMessages. */
276     public PagedCallSettings.Builder<
277             ListMessagesRequest, ListMessagesResponse, ListMessagesPagedResponse>
listMessagesSettings()278         listMessagesSettings() {
279       return getStubSettingsBuilder().listMessagesSettings();
280     }
281 
282     /** Returns the builder for the settings used for calls to suggestConversationSummary. */
283     public UnaryCallSettings.Builder<
284             SuggestConversationSummaryRequest, SuggestConversationSummaryResponse>
suggestConversationSummarySettings()285         suggestConversationSummarySettings() {
286       return getStubSettingsBuilder().suggestConversationSummarySettings();
287     }
288 
289     /** Returns the builder for the settings used for calls to generateStatelessSummary. */
290     public UnaryCallSettings.Builder<
291             GenerateStatelessSummaryRequest, GenerateStatelessSummaryResponse>
generateStatelessSummarySettings()292         generateStatelessSummarySettings() {
293       return getStubSettingsBuilder().generateStatelessSummarySettings();
294     }
295 
296     /** Returns the builder for the settings used for calls to listLocations. */
297     public PagedCallSettings.Builder<
298             ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
listLocationsSettings()299         listLocationsSettings() {
300       return getStubSettingsBuilder().listLocationsSettings();
301     }
302 
303     /** Returns the builder for the settings used for calls to getLocation. */
getLocationSettings()304     public UnaryCallSettings.Builder<GetLocationRequest, Location> getLocationSettings() {
305       return getStubSettingsBuilder().getLocationSettings();
306     }
307 
308     @Override
build()309     public ConversationsSettings build() throws IOException {
310       return new ConversationsSettings(this);
311     }
312   }
313 }
314