// Copyright 2011, Google Inc. All Rights Reserved. // // 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 // // http://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.api.ads.common.lib.conf; import org.apache.commons.configuration.Configuration; /** * Configuration of lib properties. */ public abstract class AdsLibConfiguration extends BaseConfiguration { /** * Configuration keys. */ public static final String AUTO_SET_PROXY_KEY = "com.google.api.ads.common.lib.autosetproxy"; public static final String REFETCH_STALE_TOKENS_KEY = "com.google.api.ads.common.lib.auth.refetchstaletokens"; public static final String VERSION_KEY = "com.google.api.ads.version"; public static final String AUTO_REFRESH_OAUTH2_TOKEN_POSTFIX = "refreshOAuth2Token"; public static final String USE_COMPRESSION_POSTFIX = "useCompression"; public static final String SOAP_REQUEST_TIMEOUT_POSTFIX = "soapRequestTimeout"; public static final String INCLUDE_UTILITIES_IN_USER_AGENT_POSTFIX = "includeUtilitiesInUserAgent"; public static final int DEFAULT_SOAP_REQUEST_TIMEOUT = 20 * 60 * 1000; /** * Constructor. * * @param config the lib configuration */ public AdsLibConfiguration(Configuration config) { super(config); } /** * Gets the version for use with duck-typed jars. */ public String getDuckTypedVersion() { return getString(VERSION_KEY); } /** * Is the proxy set automatically when making HTTP (non-SOAP) clients calls. */ public boolean isAutoSetProxy() { return getBoolean(AUTO_SET_PROXY_KEY); } /** * Gets if OAuth2 token should be automatically refreshed. Default is * {@code true}. */ public boolean isAutoRefreshOAuth2TokenEnabled() { return true; } /** * Returns if requests and responses should be compressed. */ public boolean isCompressionEnabled() { return false; } /** * Gets the request timeout in milliseconds. */ public int getSoapRequestTimeout() { return DEFAULT_SOAP_REQUEST_TIMEOUT; } /** * Returns if usage of ads utilities should be included in the user agent. */ public boolean isIncludeAdsUtilitiesInUserAgent() { return true; } }