• 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 com.google.api.core.ApiFuture;
20 import com.google.api.core.ApiFutures;
21 import com.google.api.core.BetaApi;
22 import com.google.api.gax.core.BackgroundResource;
23 import com.google.api.gax.httpjson.longrunning.OperationsClient;
24 import com.google.api.gax.longrunning.OperationFuture;
25 import com.google.api.gax.paging.AbstractFixedSizeCollection;
26 import com.google.api.gax.paging.AbstractPage;
27 import com.google.api.gax.paging.AbstractPagedListResponse;
28 import com.google.api.gax.rpc.OperationCallable;
29 import com.google.api.gax.rpc.PageContext;
30 import com.google.api.gax.rpc.UnaryCallable;
31 import com.google.cloud.dialogflow.v2.stub.ConversationDatasetsStub;
32 import com.google.cloud.dialogflow.v2.stub.ConversationDatasetsStubSettings;
33 import com.google.cloud.location.GetLocationRequest;
34 import com.google.cloud.location.ListLocationsRequest;
35 import com.google.cloud.location.ListLocationsResponse;
36 import com.google.cloud.location.Location;
37 import com.google.common.util.concurrent.MoreExecutors;
38 import com.google.longrunning.Operation;
39 import com.google.protobuf.Empty;
40 import java.io.IOException;
41 import java.util.List;
42 import java.util.concurrent.TimeUnit;
43 import javax.annotation.Generated;
44 
45 // AUTO-GENERATED DOCUMENTATION AND CLASS.
46 /**
47  * Service Description: Conversation datasets.
48  *
49  * <p>Conversation datasets contain raw conversation files and their customizable metadata that can
50  * be used for model training.
51  *
52  * <p>This class provides the ability to make remote calls to the backing service through method
53  * calls that map to API methods. Sample code to get started:
54  *
55  * <pre>{@code
56  * // This snippet has been automatically generated and should be regarded as a code template only.
57  * // It will require modifications to work:
58  * // - It may require correct/in-range values for request initialization.
59  * // - It may require specifying regional endpoints when creating the service client as shown in
60  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
61  * try (ConversationDatasetsClient conversationDatasetsClient =
62  *     ConversationDatasetsClient.create()) {
63  *   ConversationDatasetName name =
64  *       ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]");
65  *   ConversationDataset response = conversationDatasetsClient.getConversationDataset(name);
66  * }
67  * }</pre>
68  *
69  * <p>Note: close() needs to be called on the ConversationDatasetsClient object to clean up
70  * resources such as threads. In the example above, try-with-resources is used, which automatically
71  * calls close().
72  *
73  * <p>The surface of this class includes several types of Java methods for each of the API's
74  * methods:
75  *
76  * <ol>
77  *   <li>A "flattened" method. With this type of method, the fields of the request type have been
78  *       converted into function parameters. It may be the case that not all fields are available as
79  *       parameters, and not every API method will have a flattened method entry point.
80  *   <li>A "request object" method. This type of method only takes one parameter, a request object,
81  *       which must be constructed before the call. Not every API method will have a request object
82  *       method.
83  *   <li>A "callable" method. This type of method takes no parameters and returns an immutable API
84  *       callable object, which can be used to initiate calls to the service.
85  * </ol>
86  *
87  * <p>See the individual methods for example code.
88  *
89  * <p>Many parameters require resource names to be formatted in a particular way. To assist with
90  * these names, this class includes a format method for each type of name, and additionally a parse
91  * method to extract the individual identifiers contained within names that are returned.
92  *
93  * <p>This class can be customized by passing in a custom instance of ConversationDatasetsSettings
94  * to create(). For example:
95  *
96  * <p>To customize credentials:
97  *
98  * <pre>{@code
99  * // This snippet has been automatically generated and should be regarded as a code template only.
100  * // It will require modifications to work:
101  * // - It may require correct/in-range values for request initialization.
102  * // - It may require specifying regional endpoints when creating the service client as shown in
103  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
104  * ConversationDatasetsSettings conversationDatasetsSettings =
105  *     ConversationDatasetsSettings.newBuilder()
106  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
107  *         .build();
108  * ConversationDatasetsClient conversationDatasetsClient =
109  *     ConversationDatasetsClient.create(conversationDatasetsSettings);
110  * }</pre>
111  *
112  * <p>To customize the endpoint:
113  *
114  * <pre>{@code
115  * // This snippet has been automatically generated and should be regarded as a code template only.
116  * // It will require modifications to work:
117  * // - It may require correct/in-range values for request initialization.
118  * // - It may require specifying regional endpoints when creating the service client as shown in
119  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
120  * ConversationDatasetsSettings conversationDatasetsSettings =
121  *     ConversationDatasetsSettings.newBuilder().setEndpoint(myEndpoint).build();
122  * ConversationDatasetsClient conversationDatasetsClient =
123  *     ConversationDatasetsClient.create(conversationDatasetsSettings);
124  * }</pre>
125  *
126  * <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
127  * the wire:
128  *
129  * <pre>{@code
130  * // This snippet has been automatically generated and should be regarded as a code template only.
131  * // It will require modifications to work:
132  * // - It may require correct/in-range values for request initialization.
133  * // - It may require specifying regional endpoints when creating the service client as shown in
134  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
135  * ConversationDatasetsSettings conversationDatasetsSettings =
136  *     ConversationDatasetsSettings.newHttpJsonBuilder().build();
137  * ConversationDatasetsClient conversationDatasetsClient =
138  *     ConversationDatasetsClient.create(conversationDatasetsSettings);
139  * }</pre>
140  *
141  * <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
142  */
143 @Generated("by gapic-generator-java")
144 public class ConversationDatasetsClient implements BackgroundResource {
145   private final ConversationDatasetsSettings settings;
146   private final ConversationDatasetsStub stub;
147   private final OperationsClient httpJsonOperationsClient;
148   private final com.google.longrunning.OperationsClient operationsClient;
149 
150   /** Constructs an instance of ConversationDatasetsClient with default settings. */
create()151   public static final ConversationDatasetsClient create() throws IOException {
152     return create(ConversationDatasetsSettings.newBuilder().build());
153   }
154 
155   /**
156    * Constructs an instance of ConversationDatasetsClient, using the given settings. The channels
157    * are created based on the settings passed in, or defaults for any settings that are not set.
158    */
create(ConversationDatasetsSettings settings)159   public static final ConversationDatasetsClient create(ConversationDatasetsSettings settings)
160       throws IOException {
161     return new ConversationDatasetsClient(settings);
162   }
163 
164   /**
165    * Constructs an instance of ConversationDatasetsClient, using the given stub for making calls.
166    * This is for advanced usage - prefer using create(ConversationDatasetsSettings).
167    */
create(ConversationDatasetsStub stub)168   public static final ConversationDatasetsClient create(ConversationDatasetsStub stub) {
169     return new ConversationDatasetsClient(stub);
170   }
171 
172   /**
173    * Constructs an instance of ConversationDatasetsClient, using the given settings. This is
174    * protected so that it is easy to make a subclass, but otherwise, the static factory methods
175    * should be preferred.
176    */
ConversationDatasetsClient(ConversationDatasetsSettings settings)177   protected ConversationDatasetsClient(ConversationDatasetsSettings settings) throws IOException {
178     this.settings = settings;
179     this.stub = ((ConversationDatasetsStubSettings) settings.getStubSettings()).createStub();
180     this.operationsClient =
181         com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
182     this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
183   }
184 
ConversationDatasetsClient(ConversationDatasetsStub stub)185   protected ConversationDatasetsClient(ConversationDatasetsStub stub) {
186     this.settings = null;
187     this.stub = stub;
188     this.operationsClient =
189         com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
190     this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
191   }
192 
getSettings()193   public final ConversationDatasetsSettings getSettings() {
194     return settings;
195   }
196 
getStub()197   public ConversationDatasetsStub getStub() {
198     return stub;
199   }
200 
201   /**
202    * Returns the OperationsClient that can be used to query the status of a long-running operation
203    * returned by another API method call.
204    */
getOperationsClient()205   public final com.google.longrunning.OperationsClient getOperationsClient() {
206     return operationsClient;
207   }
208 
209   /**
210    * Returns the OperationsClient that can be used to query the status of a long-running operation
211    * returned by another API method call.
212    */
213   @BetaApi
getHttpJsonOperationsClient()214   public final OperationsClient getHttpJsonOperationsClient() {
215     return httpJsonOperationsClient;
216   }
217 
218   // AUTO-GENERATED DOCUMENTATION AND METHOD.
219   /**
220    * Creates a new conversation dataset.
221    *
222    * <p>This method is a [long-running
223    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
224    * returned `Operation` type has the following method-specific fields:
225    *
226    * <p>- `metadata`:
227    * [CreateConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.CreateConversationDatasetOperationMetadata]
228    * - `response`: [ConversationDataset][google.cloud.dialogflow.v2.ConversationDataset]
229    *
230    * <p>Sample code:
231    *
232    * <pre>{@code
233    * // This snippet has been automatically generated and should be regarded as a code template only.
234    * // It will require modifications to work:
235    * // - It may require correct/in-range values for request initialization.
236    * // - It may require specifying regional endpoints when creating the service client as shown in
237    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
238    * try (ConversationDatasetsClient conversationDatasetsClient =
239    *     ConversationDatasetsClient.create()) {
240    *   String parent = "parent-995424086";
241    *   ConversationDataset conversationDataset = ConversationDataset.newBuilder().build();
242    *   ConversationDataset response =
243    *       conversationDatasetsClient
244    *           .createConversationDatasetAsync(parent, conversationDataset)
245    *           .get();
246    * }
247    * }</pre>
248    *
249    * @param parent Required. The project to create conversation dataset for. Format:
250    *     `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;`
251    * @param conversationDataset Required. The conversation dataset to create.
252    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
253    */
254   public final OperationFuture<ConversationDataset, CreateConversationDatasetOperationMetadata>
createConversationDatasetAsync(String parent, ConversationDataset conversationDataset)255       createConversationDatasetAsync(String parent, ConversationDataset conversationDataset) {
256     CreateConversationDatasetRequest request =
257         CreateConversationDatasetRequest.newBuilder()
258             .setParent(parent)
259             .setConversationDataset(conversationDataset)
260             .build();
261     return createConversationDatasetAsync(request);
262   }
263 
264   // AUTO-GENERATED DOCUMENTATION AND METHOD.
265   /**
266    * Creates a new conversation dataset.
267    *
268    * <p>This method is a [long-running
269    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
270    * returned `Operation` type has the following method-specific fields:
271    *
272    * <p>- `metadata`:
273    * [CreateConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.CreateConversationDatasetOperationMetadata]
274    * - `response`: [ConversationDataset][google.cloud.dialogflow.v2.ConversationDataset]
275    *
276    * <p>Sample code:
277    *
278    * <pre>{@code
279    * // This snippet has been automatically generated and should be regarded as a code template only.
280    * // It will require modifications to work:
281    * // - It may require correct/in-range values for request initialization.
282    * // - It may require specifying regional endpoints when creating the service client as shown in
283    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
284    * try (ConversationDatasetsClient conversationDatasetsClient =
285    *     ConversationDatasetsClient.create()) {
286    *   CreateConversationDatasetRequest request =
287    *       CreateConversationDatasetRequest.newBuilder()
288    *           .setParent("parent-995424086")
289    *           .setConversationDataset(ConversationDataset.newBuilder().build())
290    *           .build();
291    *   ConversationDataset response =
292    *       conversationDatasetsClient.createConversationDatasetAsync(request).get();
293    * }
294    * }</pre>
295    *
296    * @param request The request object containing all of the parameters for the API call.
297    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
298    */
299   public final OperationFuture<ConversationDataset, CreateConversationDatasetOperationMetadata>
createConversationDatasetAsync(CreateConversationDatasetRequest request)300       createConversationDatasetAsync(CreateConversationDatasetRequest request) {
301     return createConversationDatasetOperationCallable().futureCall(request);
302   }
303 
304   // AUTO-GENERATED DOCUMENTATION AND METHOD.
305   /**
306    * Creates a new conversation dataset.
307    *
308    * <p>This method is a [long-running
309    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
310    * returned `Operation` type has the following method-specific fields:
311    *
312    * <p>- `metadata`:
313    * [CreateConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.CreateConversationDatasetOperationMetadata]
314    * - `response`: [ConversationDataset][google.cloud.dialogflow.v2.ConversationDataset]
315    *
316    * <p>Sample code:
317    *
318    * <pre>{@code
319    * // This snippet has been automatically generated and should be regarded as a code template only.
320    * // It will require modifications to work:
321    * // - It may require correct/in-range values for request initialization.
322    * // - It may require specifying regional endpoints when creating the service client as shown in
323    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
324    * try (ConversationDatasetsClient conversationDatasetsClient =
325    *     ConversationDatasetsClient.create()) {
326    *   CreateConversationDatasetRequest request =
327    *       CreateConversationDatasetRequest.newBuilder()
328    *           .setParent("parent-995424086")
329    *           .setConversationDataset(ConversationDataset.newBuilder().build())
330    *           .build();
331    *   OperationFuture<ConversationDataset, CreateConversationDatasetOperationMetadata> future =
332    *       conversationDatasetsClient
333    *           .createConversationDatasetOperationCallable()
334    *           .futureCall(request);
335    *   // Do something.
336    *   ConversationDataset response = future.get();
337    * }
338    * }</pre>
339    */
340   public final OperationCallable<
341           CreateConversationDatasetRequest,
342           ConversationDataset,
343           CreateConversationDatasetOperationMetadata>
createConversationDatasetOperationCallable()344       createConversationDatasetOperationCallable() {
345     return stub.createConversationDatasetOperationCallable();
346   }
347 
348   // AUTO-GENERATED DOCUMENTATION AND METHOD.
349   /**
350    * Creates a new conversation dataset.
351    *
352    * <p>This method is a [long-running
353    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
354    * returned `Operation` type has the following method-specific fields:
355    *
356    * <p>- `metadata`:
357    * [CreateConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.CreateConversationDatasetOperationMetadata]
358    * - `response`: [ConversationDataset][google.cloud.dialogflow.v2.ConversationDataset]
359    *
360    * <p>Sample code:
361    *
362    * <pre>{@code
363    * // This snippet has been automatically generated and should be regarded as a code template only.
364    * // It will require modifications to work:
365    * // - It may require correct/in-range values for request initialization.
366    * // - It may require specifying regional endpoints when creating the service client as shown in
367    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
368    * try (ConversationDatasetsClient conversationDatasetsClient =
369    *     ConversationDatasetsClient.create()) {
370    *   CreateConversationDatasetRequest request =
371    *       CreateConversationDatasetRequest.newBuilder()
372    *           .setParent("parent-995424086")
373    *           .setConversationDataset(ConversationDataset.newBuilder().build())
374    *           .build();
375    *   ApiFuture<Operation> future =
376    *       conversationDatasetsClient.createConversationDatasetCallable().futureCall(request);
377    *   // Do something.
378    *   Operation response = future.get();
379    * }
380    * }</pre>
381    */
382   public final UnaryCallable<CreateConversationDatasetRequest, Operation>
createConversationDatasetCallable()383       createConversationDatasetCallable() {
384     return stub.createConversationDatasetCallable();
385   }
386 
387   // AUTO-GENERATED DOCUMENTATION AND METHOD.
388   /**
389    * Retrieves the specified conversation dataset.
390    *
391    * <p>Sample code:
392    *
393    * <pre>{@code
394    * // This snippet has been automatically generated and should be regarded as a code template only.
395    * // It will require modifications to work:
396    * // - It may require correct/in-range values for request initialization.
397    * // - It may require specifying regional endpoints when creating the service client as shown in
398    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
399    * try (ConversationDatasetsClient conversationDatasetsClient =
400    *     ConversationDatasetsClient.create()) {
401    *   ConversationDatasetName name =
402    *       ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]");
403    *   ConversationDataset response = conversationDatasetsClient.getConversationDataset(name);
404    * }
405    * }</pre>
406    *
407    * @param name Required. The conversation dataset to retrieve. Format: `projects/&lt;Project
408    *     ID&gt;/locations/&lt;Location ID&gt;/conversationDatasets/&lt;Conversation Dataset ID&gt;`
409    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
410    */
getConversationDataset(ConversationDatasetName name)411   public final ConversationDataset getConversationDataset(ConversationDatasetName name) {
412     GetConversationDatasetRequest request =
413         GetConversationDatasetRequest.newBuilder()
414             .setName(name == null ? null : name.toString())
415             .build();
416     return getConversationDataset(request);
417   }
418 
419   // AUTO-GENERATED DOCUMENTATION AND METHOD.
420   /**
421    * Retrieves the specified conversation dataset.
422    *
423    * <p>Sample code:
424    *
425    * <pre>{@code
426    * // This snippet has been automatically generated and should be regarded as a code template only.
427    * // It will require modifications to work:
428    * // - It may require correct/in-range values for request initialization.
429    * // - It may require specifying regional endpoints when creating the service client as shown in
430    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
431    * try (ConversationDatasetsClient conversationDatasetsClient =
432    *     ConversationDatasetsClient.create()) {
433    *   String name =
434    *       ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
435    *           .toString();
436    *   ConversationDataset response = conversationDatasetsClient.getConversationDataset(name);
437    * }
438    * }</pre>
439    *
440    * @param name Required. The conversation dataset to retrieve. Format: `projects/&lt;Project
441    *     ID&gt;/locations/&lt;Location ID&gt;/conversationDatasets/&lt;Conversation Dataset ID&gt;`
442    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
443    */
getConversationDataset(String name)444   public final ConversationDataset getConversationDataset(String name) {
445     GetConversationDatasetRequest request =
446         GetConversationDatasetRequest.newBuilder().setName(name).build();
447     return getConversationDataset(request);
448   }
449 
450   // AUTO-GENERATED DOCUMENTATION AND METHOD.
451   /**
452    * Retrieves the specified conversation dataset.
453    *
454    * <p>Sample code:
455    *
456    * <pre>{@code
457    * // This snippet has been automatically generated and should be regarded as a code template only.
458    * // It will require modifications to work:
459    * // - It may require correct/in-range values for request initialization.
460    * // - It may require specifying regional endpoints when creating the service client as shown in
461    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
462    * try (ConversationDatasetsClient conversationDatasetsClient =
463    *     ConversationDatasetsClient.create()) {
464    *   GetConversationDatasetRequest request =
465    *       GetConversationDatasetRequest.newBuilder()
466    *           .setName(
467    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
468    *                   .toString())
469    *           .build();
470    *   ConversationDataset response = conversationDatasetsClient.getConversationDataset(request);
471    * }
472    * }</pre>
473    *
474    * @param request The request object containing all of the parameters for the API call.
475    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
476    */
getConversationDataset(GetConversationDatasetRequest request)477   public final ConversationDataset getConversationDataset(GetConversationDatasetRequest request) {
478     return getConversationDatasetCallable().call(request);
479   }
480 
481   // AUTO-GENERATED DOCUMENTATION AND METHOD.
482   /**
483    * Retrieves the specified conversation dataset.
484    *
485    * <p>Sample code:
486    *
487    * <pre>{@code
488    * // This snippet has been automatically generated and should be regarded as a code template only.
489    * // It will require modifications to work:
490    * // - It may require correct/in-range values for request initialization.
491    * // - It may require specifying regional endpoints when creating the service client as shown in
492    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
493    * try (ConversationDatasetsClient conversationDatasetsClient =
494    *     ConversationDatasetsClient.create()) {
495    *   GetConversationDatasetRequest request =
496    *       GetConversationDatasetRequest.newBuilder()
497    *           .setName(
498    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
499    *                   .toString())
500    *           .build();
501    *   ApiFuture<ConversationDataset> future =
502    *       conversationDatasetsClient.getConversationDatasetCallable().futureCall(request);
503    *   // Do something.
504    *   ConversationDataset response = future.get();
505    * }
506    * }</pre>
507    */
508   public final UnaryCallable<GetConversationDatasetRequest, ConversationDataset>
getConversationDatasetCallable()509       getConversationDatasetCallable() {
510     return stub.getConversationDatasetCallable();
511   }
512 
513   // AUTO-GENERATED DOCUMENTATION AND METHOD.
514   /**
515    * Returns the list of all conversation datasets in the specified project and location.
516    *
517    * <p>Sample code:
518    *
519    * <pre>{@code
520    * // This snippet has been automatically generated and should be regarded as a code template only.
521    * // It will require modifications to work:
522    * // - It may require correct/in-range values for request initialization.
523    * // - It may require specifying regional endpoints when creating the service client as shown in
524    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
525    * try (ConversationDatasetsClient conversationDatasetsClient =
526    *     ConversationDatasetsClient.create()) {
527    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
528    *   for (ConversationDataset element :
529    *       conversationDatasetsClient.listConversationDatasets(parent).iterateAll()) {
530    *     // doThingsWith(element);
531    *   }
532    * }
533    * }</pre>
534    *
535    * @param parent Required. The project and location name to list all conversation datasets for.
536    *     Format: `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;`
537    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
538    */
listConversationDatasets(LocationName parent)539   public final ListConversationDatasetsPagedResponse listConversationDatasets(LocationName parent) {
540     ListConversationDatasetsRequest request =
541         ListConversationDatasetsRequest.newBuilder()
542             .setParent(parent == null ? null : parent.toString())
543             .build();
544     return listConversationDatasets(request);
545   }
546 
547   // AUTO-GENERATED DOCUMENTATION AND METHOD.
548   /**
549    * Returns the list of all conversation datasets in the specified project and location.
550    *
551    * <p>Sample code:
552    *
553    * <pre>{@code
554    * // This snippet has been automatically generated and should be regarded as a code template only.
555    * // It will require modifications to work:
556    * // - It may require correct/in-range values for request initialization.
557    * // - It may require specifying regional endpoints when creating the service client as shown in
558    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
559    * try (ConversationDatasetsClient conversationDatasetsClient =
560    *     ConversationDatasetsClient.create()) {
561    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
562    *   for (ConversationDataset element :
563    *       conversationDatasetsClient.listConversationDatasets(parent).iterateAll()) {
564    *     // doThingsWith(element);
565    *   }
566    * }
567    * }</pre>
568    *
569    * @param parent Required. The project and location name to list all conversation datasets for.
570    *     Format: `projects/&lt;Project ID&gt;/locations/&lt;Location ID&gt;`
571    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
572    */
listConversationDatasets(String parent)573   public final ListConversationDatasetsPagedResponse listConversationDatasets(String parent) {
574     ListConversationDatasetsRequest request =
575         ListConversationDatasetsRequest.newBuilder().setParent(parent).build();
576     return listConversationDatasets(request);
577   }
578 
579   // AUTO-GENERATED DOCUMENTATION AND METHOD.
580   /**
581    * Returns the list of all conversation datasets in the specified project and location.
582    *
583    * <p>Sample code:
584    *
585    * <pre>{@code
586    * // This snippet has been automatically generated and should be regarded as a code template only.
587    * // It will require modifications to work:
588    * // - It may require correct/in-range values for request initialization.
589    * // - It may require specifying regional endpoints when creating the service client as shown in
590    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
591    * try (ConversationDatasetsClient conversationDatasetsClient =
592    *     ConversationDatasetsClient.create()) {
593    *   ListConversationDatasetsRequest request =
594    *       ListConversationDatasetsRequest.newBuilder()
595    *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
596    *           .setPageSize(883849137)
597    *           .setPageToken("pageToken873572522")
598    *           .build();
599    *   for (ConversationDataset element :
600    *       conversationDatasetsClient.listConversationDatasets(request).iterateAll()) {
601    *     // doThingsWith(element);
602    *   }
603    * }
604    * }</pre>
605    *
606    * @param request The request object containing all of the parameters for the API call.
607    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
608    */
listConversationDatasets( ListConversationDatasetsRequest request)609   public final ListConversationDatasetsPagedResponse listConversationDatasets(
610       ListConversationDatasetsRequest request) {
611     return listConversationDatasetsPagedCallable().call(request);
612   }
613 
614   // AUTO-GENERATED DOCUMENTATION AND METHOD.
615   /**
616    * Returns the list of all conversation datasets in the specified project and location.
617    *
618    * <p>Sample code:
619    *
620    * <pre>{@code
621    * // This snippet has been automatically generated and should be regarded as a code template only.
622    * // It will require modifications to work:
623    * // - It may require correct/in-range values for request initialization.
624    * // - It may require specifying regional endpoints when creating the service client as shown in
625    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
626    * try (ConversationDatasetsClient conversationDatasetsClient =
627    *     ConversationDatasetsClient.create()) {
628    *   ListConversationDatasetsRequest request =
629    *       ListConversationDatasetsRequest.newBuilder()
630    *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
631    *           .setPageSize(883849137)
632    *           .setPageToken("pageToken873572522")
633    *           .build();
634    *   ApiFuture<ConversationDataset> future =
635    *       conversationDatasetsClient.listConversationDatasetsPagedCallable().futureCall(request);
636    *   // Do something.
637    *   for (ConversationDataset element : future.get().iterateAll()) {
638    *     // doThingsWith(element);
639    *   }
640    * }
641    * }</pre>
642    */
643   public final UnaryCallable<ListConversationDatasetsRequest, ListConversationDatasetsPagedResponse>
listConversationDatasetsPagedCallable()644       listConversationDatasetsPagedCallable() {
645     return stub.listConversationDatasetsPagedCallable();
646   }
647 
648   // AUTO-GENERATED DOCUMENTATION AND METHOD.
649   /**
650    * Returns the list of all conversation datasets in the specified project and location.
651    *
652    * <p>Sample code:
653    *
654    * <pre>{@code
655    * // This snippet has been automatically generated and should be regarded as a code template only.
656    * // It will require modifications to work:
657    * // - It may require correct/in-range values for request initialization.
658    * // - It may require specifying regional endpoints when creating the service client as shown in
659    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
660    * try (ConversationDatasetsClient conversationDatasetsClient =
661    *     ConversationDatasetsClient.create()) {
662    *   ListConversationDatasetsRequest request =
663    *       ListConversationDatasetsRequest.newBuilder()
664    *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
665    *           .setPageSize(883849137)
666    *           .setPageToken("pageToken873572522")
667    *           .build();
668    *   while (true) {
669    *     ListConversationDatasetsResponse response =
670    *         conversationDatasetsClient.listConversationDatasetsCallable().call(request);
671    *     for (ConversationDataset element : response.getConversationDatasetsList()) {
672    *       // doThingsWith(element);
673    *     }
674    *     String nextPageToken = response.getNextPageToken();
675    *     if (!Strings.isNullOrEmpty(nextPageToken)) {
676    *       request = request.toBuilder().setPageToken(nextPageToken).build();
677    *     } else {
678    *       break;
679    *     }
680    *   }
681    * }
682    * }</pre>
683    */
684   public final UnaryCallable<ListConversationDatasetsRequest, ListConversationDatasetsResponse>
listConversationDatasetsCallable()685       listConversationDatasetsCallable() {
686     return stub.listConversationDatasetsCallable();
687   }
688 
689   // AUTO-GENERATED DOCUMENTATION AND METHOD.
690   /**
691    * Deletes the specified conversation dataset.
692    *
693    * <p>This method is a [long-running
694    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
695    * returned `Operation` type has the following method-specific fields:
696    *
697    * <p>- `metadata`:
698    * [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata]
699    * - `response`: An [Empty
700    * message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
701    *
702    * <p>Sample code:
703    *
704    * <pre>{@code
705    * // This snippet has been automatically generated and should be regarded as a code template only.
706    * // It will require modifications to work:
707    * // - It may require correct/in-range values for request initialization.
708    * // - It may require specifying regional endpoints when creating the service client as shown in
709    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
710    * try (ConversationDatasetsClient conversationDatasetsClient =
711    *     ConversationDatasetsClient.create()) {
712    *   ConversationDatasetName name =
713    *       ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]");
714    *   conversationDatasetsClient.deleteConversationDatasetAsync(name).get();
715    * }
716    * }</pre>
717    *
718    * @param name Required. The conversation dataset to delete. Format: `projects/&lt;Project
719    *     ID&gt;/locations/&lt;Location ID&gt;/conversationDatasets/&lt;Conversation Dataset ID&gt;`
720    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
721    */
722   public final OperationFuture<Empty, DeleteConversationDatasetOperationMetadata>
deleteConversationDatasetAsync(ConversationDatasetName name)723       deleteConversationDatasetAsync(ConversationDatasetName name) {
724     DeleteConversationDatasetRequest request =
725         DeleteConversationDatasetRequest.newBuilder()
726             .setName(name == null ? null : name.toString())
727             .build();
728     return deleteConversationDatasetAsync(request);
729   }
730 
731   // AUTO-GENERATED DOCUMENTATION AND METHOD.
732   /**
733    * Deletes the specified conversation dataset.
734    *
735    * <p>This method is a [long-running
736    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
737    * returned `Operation` type has the following method-specific fields:
738    *
739    * <p>- `metadata`:
740    * [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata]
741    * - `response`: An [Empty
742    * message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
743    *
744    * <p>Sample code:
745    *
746    * <pre>{@code
747    * // This snippet has been automatically generated and should be regarded as a code template only.
748    * // It will require modifications to work:
749    * // - It may require correct/in-range values for request initialization.
750    * // - It may require specifying regional endpoints when creating the service client as shown in
751    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
752    * try (ConversationDatasetsClient conversationDatasetsClient =
753    *     ConversationDatasetsClient.create()) {
754    *   String name =
755    *       ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
756    *           .toString();
757    *   conversationDatasetsClient.deleteConversationDatasetAsync(name).get();
758    * }
759    * }</pre>
760    *
761    * @param name Required. The conversation dataset to delete. Format: `projects/&lt;Project
762    *     ID&gt;/locations/&lt;Location ID&gt;/conversationDatasets/&lt;Conversation Dataset ID&gt;`
763    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
764    */
765   public final OperationFuture<Empty, DeleteConversationDatasetOperationMetadata>
deleteConversationDatasetAsync(String name)766       deleteConversationDatasetAsync(String name) {
767     DeleteConversationDatasetRequest request =
768         DeleteConversationDatasetRequest.newBuilder().setName(name).build();
769     return deleteConversationDatasetAsync(request);
770   }
771 
772   // AUTO-GENERATED DOCUMENTATION AND METHOD.
773   /**
774    * Deletes the specified conversation dataset.
775    *
776    * <p>This method is a [long-running
777    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
778    * returned `Operation` type has the following method-specific fields:
779    *
780    * <p>- `metadata`:
781    * [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata]
782    * - `response`: An [Empty
783    * message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
784    *
785    * <p>Sample code:
786    *
787    * <pre>{@code
788    * // This snippet has been automatically generated and should be regarded as a code template only.
789    * // It will require modifications to work:
790    * // - It may require correct/in-range values for request initialization.
791    * // - It may require specifying regional endpoints when creating the service client as shown in
792    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
793    * try (ConversationDatasetsClient conversationDatasetsClient =
794    *     ConversationDatasetsClient.create()) {
795    *   DeleteConversationDatasetRequest request =
796    *       DeleteConversationDatasetRequest.newBuilder()
797    *           .setName(
798    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
799    *                   .toString())
800    *           .build();
801    *   conversationDatasetsClient.deleteConversationDatasetAsync(request).get();
802    * }
803    * }</pre>
804    *
805    * @param request The request object containing all of the parameters for the API call.
806    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
807    */
808   public final OperationFuture<Empty, DeleteConversationDatasetOperationMetadata>
deleteConversationDatasetAsync(DeleteConversationDatasetRequest request)809       deleteConversationDatasetAsync(DeleteConversationDatasetRequest request) {
810     return deleteConversationDatasetOperationCallable().futureCall(request);
811   }
812 
813   // AUTO-GENERATED DOCUMENTATION AND METHOD.
814   /**
815    * Deletes the specified conversation dataset.
816    *
817    * <p>This method is a [long-running
818    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
819    * returned `Operation` type has the following method-specific fields:
820    *
821    * <p>- `metadata`:
822    * [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata]
823    * - `response`: An [Empty
824    * message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
825    *
826    * <p>Sample code:
827    *
828    * <pre>{@code
829    * // This snippet has been automatically generated and should be regarded as a code template only.
830    * // It will require modifications to work:
831    * // - It may require correct/in-range values for request initialization.
832    * // - It may require specifying regional endpoints when creating the service client as shown in
833    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
834    * try (ConversationDatasetsClient conversationDatasetsClient =
835    *     ConversationDatasetsClient.create()) {
836    *   DeleteConversationDatasetRequest request =
837    *       DeleteConversationDatasetRequest.newBuilder()
838    *           .setName(
839    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
840    *                   .toString())
841    *           .build();
842    *   OperationFuture<Empty, DeleteConversationDatasetOperationMetadata> future =
843    *       conversationDatasetsClient
844    *           .deleteConversationDatasetOperationCallable()
845    *           .futureCall(request);
846    *   // Do something.
847    *   future.get();
848    * }
849    * }</pre>
850    */
851   public final OperationCallable<
852           DeleteConversationDatasetRequest, Empty, DeleteConversationDatasetOperationMetadata>
deleteConversationDatasetOperationCallable()853       deleteConversationDatasetOperationCallable() {
854     return stub.deleteConversationDatasetOperationCallable();
855   }
856 
857   // AUTO-GENERATED DOCUMENTATION AND METHOD.
858   /**
859    * Deletes the specified conversation dataset.
860    *
861    * <p>This method is a [long-running
862    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
863    * returned `Operation` type has the following method-specific fields:
864    *
865    * <p>- `metadata`:
866    * [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata]
867    * - `response`: An [Empty
868    * message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
869    *
870    * <p>Sample code:
871    *
872    * <pre>{@code
873    * // This snippet has been automatically generated and should be regarded as a code template only.
874    * // It will require modifications to work:
875    * // - It may require correct/in-range values for request initialization.
876    * // - It may require specifying regional endpoints when creating the service client as shown in
877    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
878    * try (ConversationDatasetsClient conversationDatasetsClient =
879    *     ConversationDatasetsClient.create()) {
880    *   DeleteConversationDatasetRequest request =
881    *       DeleteConversationDatasetRequest.newBuilder()
882    *           .setName(
883    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
884    *                   .toString())
885    *           .build();
886    *   ApiFuture<Operation> future =
887    *       conversationDatasetsClient.deleteConversationDatasetCallable().futureCall(request);
888    *   // Do something.
889    *   future.get();
890    * }
891    * }</pre>
892    */
893   public final UnaryCallable<DeleteConversationDatasetRequest, Operation>
deleteConversationDatasetCallable()894       deleteConversationDatasetCallable() {
895     return stub.deleteConversationDatasetCallable();
896   }
897 
898   // AUTO-GENERATED DOCUMENTATION AND METHOD.
899   /**
900    * Import data into the specified conversation dataset. Note that it is not allowed to import data
901    * to a conversation dataset that already has data in it.
902    *
903    * <p>This method is a [long-running
904    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
905    * returned `Operation` type has the following method-specific fields:
906    *
907    * <p>- `metadata`:
908    * [ImportConversationDataOperationMetadata][google.cloud.dialogflow.v2.ImportConversationDataOperationMetadata]
909    * - `response`:
910    * [ImportConversationDataOperationResponse][google.cloud.dialogflow.v2.ImportConversationDataOperationResponse]
911    *
912    * <p>Sample code:
913    *
914    * <pre>{@code
915    * // This snippet has been automatically generated and should be regarded as a code template only.
916    * // It will require modifications to work:
917    * // - It may require correct/in-range values for request initialization.
918    * // - It may require specifying regional endpoints when creating the service client as shown in
919    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
920    * try (ConversationDatasetsClient conversationDatasetsClient =
921    *     ConversationDatasetsClient.create()) {
922    *   ImportConversationDataRequest request =
923    *       ImportConversationDataRequest.newBuilder()
924    *           .setName(
925    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
926    *                   .toString())
927    *           .setInputConfig(InputConfig.newBuilder().build())
928    *           .build();
929    *   ImportConversationDataOperationResponse response =
930    *       conversationDatasetsClient.importConversationDataAsync(request).get();
931    * }
932    * }</pre>
933    *
934    * @param request The request object containing all of the parameters for the API call.
935    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
936    */
937   public final OperationFuture<
938           ImportConversationDataOperationResponse, ImportConversationDataOperationMetadata>
importConversationDataAsync(ImportConversationDataRequest request)939       importConversationDataAsync(ImportConversationDataRequest request) {
940     return importConversationDataOperationCallable().futureCall(request);
941   }
942 
943   // AUTO-GENERATED DOCUMENTATION AND METHOD.
944   /**
945    * Import data into the specified conversation dataset. Note that it is not allowed to import data
946    * to a conversation dataset that already has data in it.
947    *
948    * <p>This method is a [long-running
949    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
950    * returned `Operation` type has the following method-specific fields:
951    *
952    * <p>- `metadata`:
953    * [ImportConversationDataOperationMetadata][google.cloud.dialogflow.v2.ImportConversationDataOperationMetadata]
954    * - `response`:
955    * [ImportConversationDataOperationResponse][google.cloud.dialogflow.v2.ImportConversationDataOperationResponse]
956    *
957    * <p>Sample code:
958    *
959    * <pre>{@code
960    * // This snippet has been automatically generated and should be regarded as a code template only.
961    * // It will require modifications to work:
962    * // - It may require correct/in-range values for request initialization.
963    * // - It may require specifying regional endpoints when creating the service client as shown in
964    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
965    * try (ConversationDatasetsClient conversationDatasetsClient =
966    *     ConversationDatasetsClient.create()) {
967    *   ImportConversationDataRequest request =
968    *       ImportConversationDataRequest.newBuilder()
969    *           .setName(
970    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
971    *                   .toString())
972    *           .setInputConfig(InputConfig.newBuilder().build())
973    *           .build();
974    *   OperationFuture<
975    *           ImportConversationDataOperationResponse, ImportConversationDataOperationMetadata>
976    *       future =
977    *           conversationDatasetsClient
978    *               .importConversationDataOperationCallable()
979    *               .futureCall(request);
980    *   // Do something.
981    *   ImportConversationDataOperationResponse response = future.get();
982    * }
983    * }</pre>
984    */
985   public final OperationCallable<
986           ImportConversationDataRequest,
987           ImportConversationDataOperationResponse,
988           ImportConversationDataOperationMetadata>
importConversationDataOperationCallable()989       importConversationDataOperationCallable() {
990     return stub.importConversationDataOperationCallable();
991   }
992 
993   // AUTO-GENERATED DOCUMENTATION AND METHOD.
994   /**
995    * Import data into the specified conversation dataset. Note that it is not allowed to import data
996    * to a conversation dataset that already has data in it.
997    *
998    * <p>This method is a [long-running
999    * operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). The
1000    * returned `Operation` type has the following method-specific fields:
1001    *
1002    * <p>- `metadata`:
1003    * [ImportConversationDataOperationMetadata][google.cloud.dialogflow.v2.ImportConversationDataOperationMetadata]
1004    * - `response`:
1005    * [ImportConversationDataOperationResponse][google.cloud.dialogflow.v2.ImportConversationDataOperationResponse]
1006    *
1007    * <p>Sample code:
1008    *
1009    * <pre>{@code
1010    * // This snippet has been automatically generated and should be regarded as a code template only.
1011    * // It will require modifications to work:
1012    * // - It may require correct/in-range values for request initialization.
1013    * // - It may require specifying regional endpoints when creating the service client as shown in
1014    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1015    * try (ConversationDatasetsClient conversationDatasetsClient =
1016    *     ConversationDatasetsClient.create()) {
1017    *   ImportConversationDataRequest request =
1018    *       ImportConversationDataRequest.newBuilder()
1019    *           .setName(
1020    *               ConversationDatasetName.of("[PROJECT]", "[LOCATION]", "[CONVERSATION_DATASET]")
1021    *                   .toString())
1022    *           .setInputConfig(InputConfig.newBuilder().build())
1023    *           .build();
1024    *   ApiFuture<Operation> future =
1025    *       conversationDatasetsClient.importConversationDataCallable().futureCall(request);
1026    *   // Do something.
1027    *   Operation response = future.get();
1028    * }
1029    * }</pre>
1030    */
1031   public final UnaryCallable<ImportConversationDataRequest, Operation>
importConversationDataCallable()1032       importConversationDataCallable() {
1033     return stub.importConversationDataCallable();
1034   }
1035 
1036   // AUTO-GENERATED DOCUMENTATION AND METHOD.
1037   /**
1038    * Lists information about the supported locations for this service.
1039    *
1040    * <p>Sample code:
1041    *
1042    * <pre>{@code
1043    * // This snippet has been automatically generated and should be regarded as a code template only.
1044    * // It will require modifications to work:
1045    * // - It may require correct/in-range values for request initialization.
1046    * // - It may require specifying regional endpoints when creating the service client as shown in
1047    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1048    * try (ConversationDatasetsClient conversationDatasetsClient =
1049    *     ConversationDatasetsClient.create()) {
1050    *   ListLocationsRequest request =
1051    *       ListLocationsRequest.newBuilder()
1052    *           .setName("name3373707")
1053    *           .setFilter("filter-1274492040")
1054    *           .setPageSize(883849137)
1055    *           .setPageToken("pageToken873572522")
1056    *           .build();
1057    *   for (Location element : conversationDatasetsClient.listLocations(request).iterateAll()) {
1058    *     // doThingsWith(element);
1059    *   }
1060    * }
1061    * }</pre>
1062    *
1063    * @param request The request object containing all of the parameters for the API call.
1064    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
1065    */
listLocations(ListLocationsRequest request)1066   public final ListLocationsPagedResponse listLocations(ListLocationsRequest request) {
1067     return listLocationsPagedCallable().call(request);
1068   }
1069 
1070   // AUTO-GENERATED DOCUMENTATION AND METHOD.
1071   /**
1072    * Lists information about the supported locations for this service.
1073    *
1074    * <p>Sample code:
1075    *
1076    * <pre>{@code
1077    * // This snippet has been automatically generated and should be regarded as a code template only.
1078    * // It will require modifications to work:
1079    * // - It may require correct/in-range values for request initialization.
1080    * // - It may require specifying regional endpoints when creating the service client as shown in
1081    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1082    * try (ConversationDatasetsClient conversationDatasetsClient =
1083    *     ConversationDatasetsClient.create()) {
1084    *   ListLocationsRequest request =
1085    *       ListLocationsRequest.newBuilder()
1086    *           .setName("name3373707")
1087    *           .setFilter("filter-1274492040")
1088    *           .setPageSize(883849137)
1089    *           .setPageToken("pageToken873572522")
1090    *           .build();
1091    *   ApiFuture<Location> future =
1092    *       conversationDatasetsClient.listLocationsPagedCallable().futureCall(request);
1093    *   // Do something.
1094    *   for (Location element : future.get().iterateAll()) {
1095    *     // doThingsWith(element);
1096    *   }
1097    * }
1098    * }</pre>
1099    */
1100   public final UnaryCallable<ListLocationsRequest, ListLocationsPagedResponse>
listLocationsPagedCallable()1101       listLocationsPagedCallable() {
1102     return stub.listLocationsPagedCallable();
1103   }
1104 
1105   // AUTO-GENERATED DOCUMENTATION AND METHOD.
1106   /**
1107    * Lists information about the supported locations for this service.
1108    *
1109    * <p>Sample code:
1110    *
1111    * <pre>{@code
1112    * // This snippet has been automatically generated and should be regarded as a code template only.
1113    * // It will require modifications to work:
1114    * // - It may require correct/in-range values for request initialization.
1115    * // - It may require specifying regional endpoints when creating the service client as shown in
1116    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1117    * try (ConversationDatasetsClient conversationDatasetsClient =
1118    *     ConversationDatasetsClient.create()) {
1119    *   ListLocationsRequest request =
1120    *       ListLocationsRequest.newBuilder()
1121    *           .setName("name3373707")
1122    *           .setFilter("filter-1274492040")
1123    *           .setPageSize(883849137)
1124    *           .setPageToken("pageToken873572522")
1125    *           .build();
1126    *   while (true) {
1127    *     ListLocationsResponse response =
1128    *         conversationDatasetsClient.listLocationsCallable().call(request);
1129    *     for (Location element : response.getLocationsList()) {
1130    *       // doThingsWith(element);
1131    *     }
1132    *     String nextPageToken = response.getNextPageToken();
1133    *     if (!Strings.isNullOrEmpty(nextPageToken)) {
1134    *       request = request.toBuilder().setPageToken(nextPageToken).build();
1135    *     } else {
1136    *       break;
1137    *     }
1138    *   }
1139    * }
1140    * }</pre>
1141    */
listLocationsCallable()1142   public final UnaryCallable<ListLocationsRequest, ListLocationsResponse> listLocationsCallable() {
1143     return stub.listLocationsCallable();
1144   }
1145 
1146   // AUTO-GENERATED DOCUMENTATION AND METHOD.
1147   /**
1148    * Gets information about a location.
1149    *
1150    * <p>Sample code:
1151    *
1152    * <pre>{@code
1153    * // This snippet has been automatically generated and should be regarded as a code template only.
1154    * // It will require modifications to work:
1155    * // - It may require correct/in-range values for request initialization.
1156    * // - It may require specifying regional endpoints when creating the service client as shown in
1157    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1158    * try (ConversationDatasetsClient conversationDatasetsClient =
1159    *     ConversationDatasetsClient.create()) {
1160    *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
1161    *   Location response = conversationDatasetsClient.getLocation(request);
1162    * }
1163    * }</pre>
1164    *
1165    * @param request The request object containing all of the parameters for the API call.
1166    * @throws com.google.api.gax.rpc.ApiException if the remote call fails
1167    */
getLocation(GetLocationRequest request)1168   public final Location getLocation(GetLocationRequest request) {
1169     return getLocationCallable().call(request);
1170   }
1171 
1172   // AUTO-GENERATED DOCUMENTATION AND METHOD.
1173   /**
1174    * Gets information about a location.
1175    *
1176    * <p>Sample code:
1177    *
1178    * <pre>{@code
1179    * // This snippet has been automatically generated and should be regarded as a code template only.
1180    * // It will require modifications to work:
1181    * // - It may require correct/in-range values for request initialization.
1182    * // - It may require specifying regional endpoints when creating the service client as shown in
1183    * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1184    * try (ConversationDatasetsClient conversationDatasetsClient =
1185    *     ConversationDatasetsClient.create()) {
1186    *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
1187    *   ApiFuture<Location> future =
1188    *       conversationDatasetsClient.getLocationCallable().futureCall(request);
1189    *   // Do something.
1190    *   Location response = future.get();
1191    * }
1192    * }</pre>
1193    */
getLocationCallable()1194   public final UnaryCallable<GetLocationRequest, Location> getLocationCallable() {
1195     return stub.getLocationCallable();
1196   }
1197 
1198   @Override
close()1199   public final void close() {
1200     stub.close();
1201   }
1202 
1203   @Override
shutdown()1204   public void shutdown() {
1205     stub.shutdown();
1206   }
1207 
1208   @Override
isShutdown()1209   public boolean isShutdown() {
1210     return stub.isShutdown();
1211   }
1212 
1213   @Override
isTerminated()1214   public boolean isTerminated() {
1215     return stub.isTerminated();
1216   }
1217 
1218   @Override
shutdownNow()1219   public void shutdownNow() {
1220     stub.shutdownNow();
1221   }
1222 
1223   @Override
awaitTermination(long duration, TimeUnit unit)1224   public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
1225     return stub.awaitTermination(duration, unit);
1226   }
1227 
1228   public static class ListConversationDatasetsPagedResponse
1229       extends AbstractPagedListResponse<
1230           ListConversationDatasetsRequest,
1231           ListConversationDatasetsResponse,
1232           ConversationDataset,
1233           ListConversationDatasetsPage,
1234           ListConversationDatasetsFixedSizeCollection> {
1235 
createAsync( PageContext< ListConversationDatasetsRequest, ListConversationDatasetsResponse, ConversationDataset> context, ApiFuture<ListConversationDatasetsResponse> futureResponse)1236     public static ApiFuture<ListConversationDatasetsPagedResponse> createAsync(
1237         PageContext<
1238                 ListConversationDatasetsRequest,
1239                 ListConversationDatasetsResponse,
1240                 ConversationDataset>
1241             context,
1242         ApiFuture<ListConversationDatasetsResponse> futureResponse) {
1243       ApiFuture<ListConversationDatasetsPage> futurePage =
1244           ListConversationDatasetsPage.createEmptyPage().createPageAsync(context, futureResponse);
1245       return ApiFutures.transform(
1246           futurePage,
1247           input -> new ListConversationDatasetsPagedResponse(input),
1248           MoreExecutors.directExecutor());
1249     }
1250 
ListConversationDatasetsPagedResponse(ListConversationDatasetsPage page)1251     private ListConversationDatasetsPagedResponse(ListConversationDatasetsPage page) {
1252       super(page, ListConversationDatasetsFixedSizeCollection.createEmptyCollection());
1253     }
1254   }
1255 
1256   public static class ListConversationDatasetsPage
1257       extends AbstractPage<
1258           ListConversationDatasetsRequest,
1259           ListConversationDatasetsResponse,
1260           ConversationDataset,
1261           ListConversationDatasetsPage> {
1262 
ListConversationDatasetsPage( PageContext< ListConversationDatasetsRequest, ListConversationDatasetsResponse, ConversationDataset> context, ListConversationDatasetsResponse response)1263     private ListConversationDatasetsPage(
1264         PageContext<
1265                 ListConversationDatasetsRequest,
1266                 ListConversationDatasetsResponse,
1267                 ConversationDataset>
1268             context,
1269         ListConversationDatasetsResponse response) {
1270       super(context, response);
1271     }
1272 
createEmptyPage()1273     private static ListConversationDatasetsPage createEmptyPage() {
1274       return new ListConversationDatasetsPage(null, null);
1275     }
1276 
1277     @Override
createPage( PageContext< ListConversationDatasetsRequest, ListConversationDatasetsResponse, ConversationDataset> context, ListConversationDatasetsResponse response)1278     protected ListConversationDatasetsPage createPage(
1279         PageContext<
1280                 ListConversationDatasetsRequest,
1281                 ListConversationDatasetsResponse,
1282                 ConversationDataset>
1283             context,
1284         ListConversationDatasetsResponse response) {
1285       return new ListConversationDatasetsPage(context, response);
1286     }
1287 
1288     @Override
createPageAsync( PageContext< ListConversationDatasetsRequest, ListConversationDatasetsResponse, ConversationDataset> context, ApiFuture<ListConversationDatasetsResponse> futureResponse)1289     public ApiFuture<ListConversationDatasetsPage> createPageAsync(
1290         PageContext<
1291                 ListConversationDatasetsRequest,
1292                 ListConversationDatasetsResponse,
1293                 ConversationDataset>
1294             context,
1295         ApiFuture<ListConversationDatasetsResponse> futureResponse) {
1296       return super.createPageAsync(context, futureResponse);
1297     }
1298   }
1299 
1300   public static class ListConversationDatasetsFixedSizeCollection
1301       extends AbstractFixedSizeCollection<
1302           ListConversationDatasetsRequest,
1303           ListConversationDatasetsResponse,
1304           ConversationDataset,
1305           ListConversationDatasetsPage,
1306           ListConversationDatasetsFixedSizeCollection> {
1307 
ListConversationDatasetsFixedSizeCollection( List<ListConversationDatasetsPage> pages, int collectionSize)1308     private ListConversationDatasetsFixedSizeCollection(
1309         List<ListConversationDatasetsPage> pages, int collectionSize) {
1310       super(pages, collectionSize);
1311     }
1312 
createEmptyCollection()1313     private static ListConversationDatasetsFixedSizeCollection createEmptyCollection() {
1314       return new ListConversationDatasetsFixedSizeCollection(null, 0);
1315     }
1316 
1317     @Override
createCollection( List<ListConversationDatasetsPage> pages, int collectionSize)1318     protected ListConversationDatasetsFixedSizeCollection createCollection(
1319         List<ListConversationDatasetsPage> pages, int collectionSize) {
1320       return new ListConversationDatasetsFixedSizeCollection(pages, collectionSize);
1321     }
1322   }
1323 
1324   public static class ListLocationsPagedResponse
1325       extends AbstractPagedListResponse<
1326           ListLocationsRequest,
1327           ListLocationsResponse,
1328           Location,
1329           ListLocationsPage,
1330           ListLocationsFixedSizeCollection> {
1331 
createAsync( PageContext<ListLocationsRequest, ListLocationsResponse, Location> context, ApiFuture<ListLocationsResponse> futureResponse)1332     public static ApiFuture<ListLocationsPagedResponse> createAsync(
1333         PageContext<ListLocationsRequest, ListLocationsResponse, Location> context,
1334         ApiFuture<ListLocationsResponse> futureResponse) {
1335       ApiFuture<ListLocationsPage> futurePage =
1336           ListLocationsPage.createEmptyPage().createPageAsync(context, futureResponse);
1337       return ApiFutures.transform(
1338           futurePage,
1339           input -> new ListLocationsPagedResponse(input),
1340           MoreExecutors.directExecutor());
1341     }
1342 
ListLocationsPagedResponse(ListLocationsPage page)1343     private ListLocationsPagedResponse(ListLocationsPage page) {
1344       super(page, ListLocationsFixedSizeCollection.createEmptyCollection());
1345     }
1346   }
1347 
1348   public static class ListLocationsPage
1349       extends AbstractPage<
1350           ListLocationsRequest, ListLocationsResponse, Location, ListLocationsPage> {
1351 
ListLocationsPage( PageContext<ListLocationsRequest, ListLocationsResponse, Location> context, ListLocationsResponse response)1352     private ListLocationsPage(
1353         PageContext<ListLocationsRequest, ListLocationsResponse, Location> context,
1354         ListLocationsResponse response) {
1355       super(context, response);
1356     }
1357 
createEmptyPage()1358     private static ListLocationsPage createEmptyPage() {
1359       return new ListLocationsPage(null, null);
1360     }
1361 
1362     @Override
createPage( PageContext<ListLocationsRequest, ListLocationsResponse, Location> context, ListLocationsResponse response)1363     protected ListLocationsPage createPage(
1364         PageContext<ListLocationsRequest, ListLocationsResponse, Location> context,
1365         ListLocationsResponse response) {
1366       return new ListLocationsPage(context, response);
1367     }
1368 
1369     @Override
createPageAsync( PageContext<ListLocationsRequest, ListLocationsResponse, Location> context, ApiFuture<ListLocationsResponse> futureResponse)1370     public ApiFuture<ListLocationsPage> createPageAsync(
1371         PageContext<ListLocationsRequest, ListLocationsResponse, Location> context,
1372         ApiFuture<ListLocationsResponse> futureResponse) {
1373       return super.createPageAsync(context, futureResponse);
1374     }
1375   }
1376 
1377   public static class ListLocationsFixedSizeCollection
1378       extends AbstractFixedSizeCollection<
1379           ListLocationsRequest,
1380           ListLocationsResponse,
1381           Location,
1382           ListLocationsPage,
1383           ListLocationsFixedSizeCollection> {
1384 
ListLocationsFixedSizeCollection(List<ListLocationsPage> pages, int collectionSize)1385     private ListLocationsFixedSizeCollection(List<ListLocationsPage> pages, int collectionSize) {
1386       super(pages, collectionSize);
1387     }
1388 
createEmptyCollection()1389     private static ListLocationsFixedSizeCollection createEmptyCollection() {
1390       return new ListLocationsFixedSizeCollection(null, 0);
1391     }
1392 
1393     @Override
createCollection( List<ListLocationsPage> pages, int collectionSize)1394     protected ListLocationsFixedSizeCollection createCollection(
1395         List<ListLocationsPage> pages, int collectionSize) {
1396       return new ListLocationsFixedSizeCollection(pages, collectionSize);
1397     }
1398   }
1399 }
1400