/* * Copyright 2022 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 io.grafeas.v1; import static io.grafeas.v1.GrafeasClient.ListNoteOccurrencesPagedResponse; import static io.grafeas.v1.GrafeasClient.ListNotesPagedResponse; import static io.grafeas.v1.GrafeasClient.ListOccurrencesPagedResponse; import com.google.api.core.ApiFunction; import com.google.api.core.BetaApi; import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.api.gax.core.InstantiatingExecutorProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.gax.rpc.ApiClientHeaderProvider; import com.google.api.gax.rpc.ClientContext; import com.google.api.gax.rpc.ClientSettings; import com.google.api.gax.rpc.PagedCallSettings; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; import com.google.protobuf.Empty; import io.grafeas.v1.stub.GrafeasStubSettings; import java.io.IOException; import java.util.List; import javax.annotation.Generated; // AUTO-GENERATED DOCUMENTATION AND CLASS. /** * Settings class to configure an instance of {@link GrafeasClient}. * *

The default instance has everything set to sensible defaults: * *

* *

The builder of this class is recursive, so contained classes are themselves builders. When * build() is called, the tree of builders is called to create the complete settings object. * *

For example, to set the total timeout of getOccurrence to 30 seconds: * *

{@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
 * GrafeasSettings.Builder grafeasSettingsBuilder = GrafeasSettings.newBuilder();
 * grafeasSettingsBuilder
 *     .getOccurrenceSettings()
 *     .setRetrySettings(
 *         grafeasSettingsBuilder
 *             .getOccurrenceSettings()
 *             .getRetrySettings()
 *             .toBuilder()
 *             .setTotalTimeout(Duration.ofSeconds(30))
 *             .build());
 * GrafeasSettings grafeasSettings = grafeasSettingsBuilder.build();
 * }
*/ @Generated("by gapic-generator-java") public class GrafeasSettings extends ClientSettings { /** Returns the object with the settings used for calls to getOccurrence. */ public UnaryCallSettings getOccurrenceSettings() { return ((GrafeasStubSettings) getStubSettings()).getOccurrenceSettings(); } /** Returns the object with the settings used for calls to listOccurrences. */ public PagedCallSettings< ListOccurrencesRequest, ListOccurrencesResponse, ListOccurrencesPagedResponse> listOccurrencesSettings() { return ((GrafeasStubSettings) getStubSettings()).listOccurrencesSettings(); } /** Returns the object with the settings used for calls to deleteOccurrence. */ public UnaryCallSettings deleteOccurrenceSettings() { return ((GrafeasStubSettings) getStubSettings()).deleteOccurrenceSettings(); } /** Returns the object with the settings used for calls to createOccurrence. */ public UnaryCallSettings createOccurrenceSettings() { return ((GrafeasStubSettings) getStubSettings()).createOccurrenceSettings(); } /** Returns the object with the settings used for calls to batchCreateOccurrences. */ public UnaryCallSettings batchCreateOccurrencesSettings() { return ((GrafeasStubSettings) getStubSettings()).batchCreateOccurrencesSettings(); } /** Returns the object with the settings used for calls to updateOccurrence. */ public UnaryCallSettings updateOccurrenceSettings() { return ((GrafeasStubSettings) getStubSettings()).updateOccurrenceSettings(); } /** Returns the object with the settings used for calls to getOccurrenceNote. */ public UnaryCallSettings getOccurrenceNoteSettings() { return ((GrafeasStubSettings) getStubSettings()).getOccurrenceNoteSettings(); } /** Returns the object with the settings used for calls to getNote. */ public UnaryCallSettings getNoteSettings() { return ((GrafeasStubSettings) getStubSettings()).getNoteSettings(); } /** Returns the object with the settings used for calls to listNotes. */ public PagedCallSettings listNotesSettings() { return ((GrafeasStubSettings) getStubSettings()).listNotesSettings(); } /** Returns the object with the settings used for calls to deleteNote. */ public UnaryCallSettings deleteNoteSettings() { return ((GrafeasStubSettings) getStubSettings()).deleteNoteSettings(); } /** Returns the object with the settings used for calls to createNote. */ public UnaryCallSettings createNoteSettings() { return ((GrafeasStubSettings) getStubSettings()).createNoteSettings(); } /** Returns the object with the settings used for calls to batchCreateNotes. */ public UnaryCallSettings batchCreateNotesSettings() { return ((GrafeasStubSettings) getStubSettings()).batchCreateNotesSettings(); } /** Returns the object with the settings used for calls to updateNote. */ public UnaryCallSettings updateNoteSettings() { return ((GrafeasStubSettings) getStubSettings()).updateNoteSettings(); } /** Returns the object with the settings used for calls to listNoteOccurrences. */ public PagedCallSettings< ListNoteOccurrencesRequest, ListNoteOccurrencesResponse, ListNoteOccurrencesPagedResponse> listNoteOccurrencesSettings() { return ((GrafeasStubSettings) getStubSettings()).listNoteOccurrencesSettings(); } public static final GrafeasSettings create(GrafeasStubSettings stub) throws IOException { return new GrafeasSettings.Builder(stub.toBuilder()).build(); } /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return GrafeasStubSettings.defaultExecutorProviderBuilder(); } /** Returns the default service endpoint. */ public static String getDefaultEndpoint() { return GrafeasStubSettings.getDefaultEndpoint(); } /** Returns the default service scopes. */ public static List getDefaultServiceScopes() { return GrafeasStubSettings.getDefaultServiceScopes(); } /** Returns a builder for the default credentials for this service. */ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { return GrafeasStubSettings.defaultCredentialsProviderBuilder(); } /** Returns a builder for the default ChannelProvider for this service. */ public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { return GrafeasStubSettings.defaultGrpcTransportProviderBuilder(); } public static TransportChannelProvider defaultTransportChannelProvider() { return GrafeasStubSettings.defaultTransportChannelProvider(); } @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { return GrafeasStubSettings.defaultApiClientHeaderProviderBuilder(); } /** Returns a new builder for this class. */ public static Builder newBuilder() { return Builder.createDefault(); } /** Returns a new builder for this class. */ public static Builder newBuilder(ClientContext clientContext) { return new Builder(clientContext); } /** Returns a builder containing all the values of this settings class. */ public Builder toBuilder() { return new Builder(this); } protected GrafeasSettings(Builder settingsBuilder) throws IOException { super(settingsBuilder); } /** Builder for GrafeasSettings. */ public static class Builder extends ClientSettings.Builder { protected Builder() throws IOException { this(((ClientContext) null)); } protected Builder(ClientContext clientContext) { super(GrafeasStubSettings.newBuilder(clientContext)); } protected Builder(GrafeasSettings settings) { super(settings.getStubSettings().toBuilder()); } protected Builder(GrafeasStubSettings.Builder stubSettings) { super(stubSettings); } private static Builder createDefault() { return new Builder(GrafeasStubSettings.newBuilder()); } public GrafeasStubSettings.Builder getStubSettingsBuilder() { return ((GrafeasStubSettings.Builder) getStubSettings()); } /** * Applies the given settings updater function to all of the unary API methods in this service. * *

Note: This method does not support applying settings to streaming methods. */ public Builder applyToAllUnaryMethods( ApiFunction, Void> settingsUpdater) { super.applyToAllUnaryMethods( getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); return this; } /** Returns the builder for the settings used for calls to getOccurrence. */ public UnaryCallSettings.Builder getOccurrenceSettings() { return getStubSettingsBuilder().getOccurrenceSettings(); } /** Returns the builder for the settings used for calls to listOccurrences. */ public PagedCallSettings.Builder< ListOccurrencesRequest, ListOccurrencesResponse, ListOccurrencesPagedResponse> listOccurrencesSettings() { return getStubSettingsBuilder().listOccurrencesSettings(); } /** Returns the builder for the settings used for calls to deleteOccurrence. */ public UnaryCallSettings.Builder deleteOccurrenceSettings() { return getStubSettingsBuilder().deleteOccurrenceSettings(); } /** Returns the builder for the settings used for calls to createOccurrence. */ public UnaryCallSettings.Builder createOccurrenceSettings() { return getStubSettingsBuilder().createOccurrenceSettings(); } /** Returns the builder for the settings used for calls to batchCreateOccurrences. */ public UnaryCallSettings.Builder batchCreateOccurrencesSettings() { return getStubSettingsBuilder().batchCreateOccurrencesSettings(); } /** Returns the builder for the settings used for calls to updateOccurrence. */ public UnaryCallSettings.Builder updateOccurrenceSettings() { return getStubSettingsBuilder().updateOccurrenceSettings(); } /** Returns the builder for the settings used for calls to getOccurrenceNote. */ public UnaryCallSettings.Builder getOccurrenceNoteSettings() { return getStubSettingsBuilder().getOccurrenceNoteSettings(); } /** Returns the builder for the settings used for calls to getNote. */ public UnaryCallSettings.Builder getNoteSettings() { return getStubSettingsBuilder().getNoteSettings(); } /** Returns the builder for the settings used for calls to listNotes. */ public PagedCallSettings.Builder listNotesSettings() { return getStubSettingsBuilder().listNotesSettings(); } /** Returns the builder for the settings used for calls to deleteNote. */ public UnaryCallSettings.Builder deleteNoteSettings() { return getStubSettingsBuilder().deleteNoteSettings(); } /** Returns the builder for the settings used for calls to createNote. */ public UnaryCallSettings.Builder createNoteSettings() { return getStubSettingsBuilder().createNoteSettings(); } /** Returns the builder for the settings used for calls to batchCreateNotes. */ public UnaryCallSettings.Builder batchCreateNotesSettings() { return getStubSettingsBuilder().batchCreateNotesSettings(); } /** Returns the builder for the settings used for calls to updateNote. */ public UnaryCallSettings.Builder updateNoteSettings() { return getStubSettingsBuilder().updateNoteSettings(); } /** Returns the builder for the settings used for calls to listNoteOccurrences. */ public PagedCallSettings.Builder< ListNoteOccurrencesRequest, ListNoteOccurrencesResponse, ListNoteOccurrencesPagedResponse> listNoteOccurrencesSettings() { return getStubSettingsBuilder().listNoteOccurrencesSettings(); } @Override public GrafeasSettings build() throws IOException { return new GrafeasSettings(this); } } }