com.google.cloud.apihub.v1.LintingServiceClient Maven / Gradle / Ivy
Show all versions of google-cloud-apihub Show documentation
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.cloud.apihub.v1;
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutures;
import com.google.api.gax.core.BackgroundResource;
import com.google.api.gax.paging.AbstractFixedSizeCollection;
import com.google.api.gax.paging.AbstractPage;
import com.google.api.gax.paging.AbstractPagedListResponse;
import com.google.api.gax.rpc.PageContext;
import com.google.api.gax.rpc.UnaryCallable;
import com.google.cloud.apihub.v1.stub.LintingServiceStub;
import com.google.cloud.apihub.v1.stub.LintingServiceStubSettings;
import com.google.cloud.location.GetLocationRequest;
import com.google.cloud.location.ListLocationsRequest;
import com.google.cloud.location.ListLocationsResponse;
import com.google.cloud.location.Location;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Empty;
import com.google.protobuf.FieldMask;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeUnit;
import javax.annotation.Generated;
// AUTO-GENERATED DOCUMENTATION AND CLASS.
/**
* Service Description: This service provides all methods related to the 1p Linter.
*
* This class provides the ability to make remote calls to the backing service through method
* calls that map to API methods. Sample code to get started:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* StyleGuideName name = StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]");
* StyleGuide response = lintingServiceClient.getStyleGuide(name);
* }
* }
*
* Note: close() needs to be called on the LintingServiceClient object to clean up resources such
* as threads. In the example above, try-with-resources is used, which automatically calls close().
*
*
* Methods
*
* Method
* Description
* Method Variants
*
*
* GetStyleGuide
* Get the style guide being used for linting.
*
* Request object method variants only take one parameter, a request object, which must be constructed before the call.
*
* getStyleGuide(GetStyleGuideRequest request)
*
* "Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
*
* getStyleGuide(StyleGuideName name)
*
getStyleGuide(String name)
*
* Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
*
* getStyleGuideCallable()
*
*
*
*
* UpdateStyleGuide
* Update the styleGuide to be used for liniting in by API hub.
*
* Request object method variants only take one parameter, a request object, which must be constructed before the call.
*
* updateStyleGuide(UpdateStyleGuideRequest request)
*
* "Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
*
* updateStyleGuide(StyleGuide styleGuide, FieldMask updateMask)
*
* Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
*
* updateStyleGuideCallable()
*
*
*
*
* GetStyleGuideContents
* Get the contents of the style guide.
*
* Request object method variants only take one parameter, a request object, which must be constructed before the call.
*
* getStyleGuideContents(GetStyleGuideContentsRequest request)
*
* "Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
*
* getStyleGuideContents(StyleGuideName name)
*
getStyleGuideContents(String name)
*
* Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
*
* getStyleGuideContentsCallable()
*
*
*
*
* LintSpec
* Lints the requested spec and updates the corresponding API Spec with the lint response. This lint response will be available in all subsequent Get and List Spec calls to Core service.
*
* Request object method variants only take one parameter, a request object, which must be constructed before the call.
*
* lintSpec(LintSpecRequest request)
*
* Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
*
* lintSpecCallable()
*
*
*
*
* ListLocations
* Lists information about the supported locations for this service.
*
* Request object method variants only take one parameter, a request object, which must be constructed before the call.
*
* listLocations(ListLocationsRequest request)
*
* Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
*
* listLocationsPagedCallable()
*
listLocationsCallable()
*
*
*
*
* GetLocation
* Gets information about a location.
*
* Request object method variants only take one parameter, a request object, which must be constructed before the call.
*
* getLocation(GetLocationRequest request)
*
* Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
*
* getLocationCallable()
*
*
*
*
*
* See the individual methods for example code.
*
*
Many parameters require resource names to be formatted in a particular way. To assist with
* these names, this class includes a format method for each type of name, and additionally a parse
* method to extract the individual identifiers contained within names that are returned.
*
*
This class can be customized by passing in a custom instance of LintingServiceSettings to
* create(). For example:
*
*
To customize credentials:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* LintingServiceSettings lintingServiceSettings =
* LintingServiceSettings.newBuilder()
* .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
* .build();
* LintingServiceClient lintingServiceClient = LintingServiceClient.create(lintingServiceSettings);
* }
*
* To customize the endpoint:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* LintingServiceSettings lintingServiceSettings =
* LintingServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
* LintingServiceClient lintingServiceClient = LintingServiceClient.create(lintingServiceSettings);
* }
*
* Please refer to the GitHub repository's samples for more quickstart code snippets.
*/
@Generated("by gapic-generator-java")
public class LintingServiceClient implements BackgroundResource {
private final LintingServiceSettings settings;
private final LintingServiceStub stub;
/** Constructs an instance of LintingServiceClient with default settings. */
public static final LintingServiceClient create() throws IOException {
return create(LintingServiceSettings.newBuilder().build());
}
/**
* Constructs an instance of LintingServiceClient, using the given settings. The channels are
* created based on the settings passed in, or defaults for any settings that are not set.
*/
public static final LintingServiceClient create(LintingServiceSettings settings)
throws IOException {
return new LintingServiceClient(settings);
}
/**
* Constructs an instance of LintingServiceClient, using the given stub for making calls. This is
* for advanced usage - prefer using create(LintingServiceSettings).
*/
public static final LintingServiceClient create(LintingServiceStub stub) {
return new LintingServiceClient(stub);
}
/**
* Constructs an instance of LintingServiceClient, using the given settings. This is protected so
* that it is easy to make a subclass, but otherwise, the static factory methods should be
* preferred.
*/
protected LintingServiceClient(LintingServiceSettings settings) throws IOException {
this.settings = settings;
this.stub = ((LintingServiceStubSettings) settings.getStubSettings()).createStub();
}
protected LintingServiceClient(LintingServiceStub stub) {
this.settings = null;
this.stub = stub;
}
public final LintingServiceSettings getSettings() {
return settings;
}
public LintingServiceStub getStub() {
return stub;
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the style guide being used for linting.
*
*
Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* StyleGuideName name = StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]");
* StyleGuide response = lintingServiceClient.getStyleGuide(name);
* }
* }
*
* @param name Required. The name of the spec to retrieve. Format:
* `projects/{project}/locations/{location}/plugins/{plugin}/styleGuide`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuide getStyleGuide(StyleGuideName name) {
GetStyleGuideRequest request =
GetStyleGuideRequest.newBuilder().setName(name == null ? null : name.toString()).build();
return getStyleGuide(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the style guide being used for linting.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* String name = StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]").toString();
* StyleGuide response = lintingServiceClient.getStyleGuide(name);
* }
* }
*
* @param name Required. The name of the spec to retrieve. Format:
* `projects/{project}/locations/{location}/plugins/{plugin}/styleGuide`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuide getStyleGuide(String name) {
GetStyleGuideRequest request = GetStyleGuideRequest.newBuilder().setName(name).build();
return getStyleGuide(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the style guide being used for linting.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* GetStyleGuideRequest request =
* GetStyleGuideRequest.newBuilder()
* .setName(StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]").toString())
* .build();
* StyleGuide response = lintingServiceClient.getStyleGuide(request);
* }
* }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuide getStyleGuide(GetStyleGuideRequest request) {
return getStyleGuideCallable().call(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the style guide being used for linting.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* GetStyleGuideRequest request =
* GetStyleGuideRequest.newBuilder()
* .setName(StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]").toString())
* .build();
* ApiFuture future =
* lintingServiceClient.getStyleGuideCallable().futureCall(request);
* // Do something.
* StyleGuide response = future.get();
* }
* }
*/
public final UnaryCallable getStyleGuideCallable() {
return stub.getStyleGuideCallable();
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Update the styleGuide to be used for liniting in by API hub.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* StyleGuide styleGuide = StyleGuide.newBuilder().build();
* FieldMask updateMask = FieldMask.newBuilder().build();
* StyleGuide response = lintingServiceClient.updateStyleGuide(styleGuide, updateMask);
* }
* }
*
* @param styleGuide Required. The Style guide resource to update.
* @param updateMask Optional. The list of fields to update.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuide updateStyleGuide(StyleGuide styleGuide, FieldMask updateMask) {
UpdateStyleGuideRequest request =
UpdateStyleGuideRequest.newBuilder()
.setStyleGuide(styleGuide)
.setUpdateMask(updateMask)
.build();
return updateStyleGuide(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Update the styleGuide to be used for liniting in by API hub.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* UpdateStyleGuideRequest request =
* UpdateStyleGuideRequest.newBuilder()
* .setStyleGuide(StyleGuide.newBuilder().build())
* .setUpdateMask(FieldMask.newBuilder().build())
* .build();
* StyleGuide response = lintingServiceClient.updateStyleGuide(request);
* }
* }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuide updateStyleGuide(UpdateStyleGuideRequest request) {
return updateStyleGuideCallable().call(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Update the styleGuide to be used for liniting in by API hub.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* UpdateStyleGuideRequest request =
* UpdateStyleGuideRequest.newBuilder()
* .setStyleGuide(StyleGuide.newBuilder().build())
* .setUpdateMask(FieldMask.newBuilder().build())
* .build();
* ApiFuture future =
* lintingServiceClient.updateStyleGuideCallable().futureCall(request);
* // Do something.
* StyleGuide response = future.get();
* }
* }
*/
public final UnaryCallable updateStyleGuideCallable() {
return stub.updateStyleGuideCallable();
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the contents of the style guide.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* StyleGuideName name = StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]");
* StyleGuideContents response = lintingServiceClient.getStyleGuideContents(name);
* }
* }
*
* @param name Required. The name of the StyleGuide whose contents need to be retrieved. There is
* exactly one style guide resource per project per location. The expected format is
* `projects/{project}/locations/{location}/plugins/{plugin}/styleGuide`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuideContents getStyleGuideContents(StyleGuideName name) {
GetStyleGuideContentsRequest request =
GetStyleGuideContentsRequest.newBuilder()
.setName(name == null ? null : name.toString())
.build();
return getStyleGuideContents(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the contents of the style guide.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* String name = StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]").toString();
* StyleGuideContents response = lintingServiceClient.getStyleGuideContents(name);
* }
* }
*
* @param name Required. The name of the StyleGuide whose contents need to be retrieved. There is
* exactly one style guide resource per project per location. The expected format is
* `projects/{project}/locations/{location}/plugins/{plugin}/styleGuide`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuideContents getStyleGuideContents(String name) {
GetStyleGuideContentsRequest request =
GetStyleGuideContentsRequest.newBuilder().setName(name).build();
return getStyleGuideContents(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the contents of the style guide.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* GetStyleGuideContentsRequest request =
* GetStyleGuideContentsRequest.newBuilder()
* .setName(StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]").toString())
* .build();
* StyleGuideContents response = lintingServiceClient.getStyleGuideContents(request);
* }
* }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final StyleGuideContents getStyleGuideContents(GetStyleGuideContentsRequest request) {
return getStyleGuideContentsCallable().call(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Get the contents of the style guide.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* GetStyleGuideContentsRequest request =
* GetStyleGuideContentsRequest.newBuilder()
* .setName(StyleGuideName.of("[PROJECT]", "[LOCATION]", "[PLUGIN]").toString())
* .build();
* ApiFuture future =
* lintingServiceClient.getStyleGuideContentsCallable().futureCall(request);
* // Do something.
* StyleGuideContents response = future.get();
* }
* }
*/
public final UnaryCallable
getStyleGuideContentsCallable() {
return stub.getStyleGuideContentsCallable();
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Lints the requested spec and updates the corresponding API Spec with the lint response. This
* lint response will be available in all subsequent Get and List Spec calls to Core service.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* LintSpecRequest request =
* LintSpecRequest.newBuilder()
* .setName(
* SpecName.of("[PROJECT]", "[LOCATION]", "[API]", "[VERSION]", "[SPEC]").toString())
* .build();
* lintingServiceClient.lintSpec(request);
* }
* }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final void lintSpec(LintSpecRequest request) {
lintSpecCallable().call(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Lints the requested spec and updates the corresponding API Spec with the lint response. This
* lint response will be available in all subsequent Get and List Spec calls to Core service.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* LintSpecRequest request =
* LintSpecRequest.newBuilder()
* .setName(
* SpecName.of("[PROJECT]", "[LOCATION]", "[API]", "[VERSION]", "[SPEC]").toString())
* .build();
* ApiFuture future = lintingServiceClient.lintSpecCallable().futureCall(request);
* // Do something.
* future.get();
* }
* }
*/
public final UnaryCallable lintSpecCallable() {
return stub.lintSpecCallable();
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Lists information about the supported locations for this service.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* ListLocationsRequest request =
* ListLocationsRequest.newBuilder()
* .setName("name3373707")
* .setFilter("filter-1274492040")
* .setPageSize(883849137)
* .setPageToken("pageToken873572522")
* .build();
* for (Location element : lintingServiceClient.listLocations(request).iterateAll()) {
* // doThingsWith(element);
* }
* }
* }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final ListLocationsPagedResponse listLocations(ListLocationsRequest request) {
return listLocationsPagedCallable().call(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Lists information about the supported locations for this service.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* ListLocationsRequest request =
* ListLocationsRequest.newBuilder()
* .setName("name3373707")
* .setFilter("filter-1274492040")
* .setPageSize(883849137)
* .setPageToken("pageToken873572522")
* .build();
* ApiFuture future =
* lintingServiceClient.listLocationsPagedCallable().futureCall(request);
* // Do something.
* for (Location element : future.get().iterateAll()) {
* // doThingsWith(element);
* }
* }
* }
*/
public final UnaryCallable
listLocationsPagedCallable() {
return stub.listLocationsPagedCallable();
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Lists information about the supported locations for this service.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* ListLocationsRequest request =
* ListLocationsRequest.newBuilder()
* .setName("name3373707")
* .setFilter("filter-1274492040")
* .setPageSize(883849137)
* .setPageToken("pageToken873572522")
* .build();
* while (true) {
* ListLocationsResponse response = lintingServiceClient.listLocationsCallable().call(request);
* for (Location element : response.getLocationsList()) {
* // doThingsWith(element);
* }
* String nextPageToken = response.getNextPageToken();
* if (!Strings.isNullOrEmpty(nextPageToken)) {
* request = request.toBuilder().setPageToken(nextPageToken).build();
* } else {
* break;
* }
* }
* }
* }
*/
public final UnaryCallable listLocationsCallable() {
return stub.listLocationsCallable();
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Gets information about a location.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
* Location response = lintingServiceClient.getLocation(request);
* }
* }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final Location getLocation(GetLocationRequest request) {
return getLocationCallable().call(request);
}
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Gets information about a location.
*
* Sample code:
*
*
{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (LintingServiceClient lintingServiceClient = LintingServiceClient.create()) {
* GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
* ApiFuture future = lintingServiceClient.getLocationCallable().futureCall(request);
* // Do something.
* Location response = future.get();
* }
* }
*/
public final UnaryCallable getLocationCallable() {
return stub.getLocationCallable();
}
@Override
public final void close() {
stub.close();
}
@Override
public void shutdown() {
stub.shutdown();
}
@Override
public boolean isShutdown() {
return stub.isShutdown();
}
@Override
public boolean isTerminated() {
return stub.isTerminated();
}
@Override
public void shutdownNow() {
stub.shutdownNow();
}
@Override
public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
return stub.awaitTermination(duration, unit);
}
public static class ListLocationsPagedResponse
extends AbstractPagedListResponse<
ListLocationsRequest,
ListLocationsResponse,
Location,
ListLocationsPage,
ListLocationsFixedSizeCollection> {
public static ApiFuture createAsync(
PageContext context,
ApiFuture futureResponse) {
ApiFuture futurePage =
ListLocationsPage.createEmptyPage().createPageAsync(context, futureResponse);
return ApiFutures.transform(
futurePage,
input -> new ListLocationsPagedResponse(input),
MoreExecutors.directExecutor());
}
private ListLocationsPagedResponse(ListLocationsPage page) {
super(page, ListLocationsFixedSizeCollection.createEmptyCollection());
}
}
public static class ListLocationsPage
extends AbstractPage<
ListLocationsRequest, ListLocationsResponse, Location, ListLocationsPage> {
private ListLocationsPage(
PageContext context,
ListLocationsResponse response) {
super(context, response);
}
private static ListLocationsPage createEmptyPage() {
return new ListLocationsPage(null, null);
}
@Override
protected ListLocationsPage createPage(
PageContext context,
ListLocationsResponse response) {
return new ListLocationsPage(context, response);
}
@Override
public ApiFuture createPageAsync(
PageContext context,
ApiFuture futureResponse) {
return super.createPageAsync(context, futureResponse);
}
}
public static class ListLocationsFixedSizeCollection
extends AbstractFixedSizeCollection<
ListLocationsRequest,
ListLocationsResponse,
Location,
ListLocationsPage,
ListLocationsFixedSizeCollection> {
private ListLocationsFixedSizeCollection(List pages, int collectionSize) {
super(pages, collectionSize);
}
private static ListLocationsFixedSizeCollection createEmptyCollection() {
return new ListLocationsFixedSizeCollection(null, 0);
}
@Override
protected ListLocationsFixedSizeCollection createCollection(
List pages, int collectionSize) {
return new ListLocationsFixedSizeCollection(pages, collectionSize);
}
}
}