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