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