/** * Gets an unmodeled piece of metadata. Useful for protocol specific options. * * @param key Key the metadata was registered under. * @param <T> Type of metadata being requested. * @return The value of the additional metadata being requested or null if it's not present. */ public <T> T addtionalMetadata(OperationMetadataAttribute<T> key) { return additionalMetadata.get(key); }
Builder advancedOptions(AttributeMap advancedOptions) { this.advancedOptions = advancedOptions.toBuilder(); return this; } }
/** * Optionally overridden by child classes to define service-specific HTTP configuration defaults. */ protected AttributeMap serviceHttpConfig() { return AttributeMap.empty(); }
/** * Create a builder for a {@link SdkClientConfiguration}. */ public static SdkClientConfiguration.Builder builder() { return new Builder(AttributeMap.builder()); }
/** * Optionally overridden by child implementations to provide implementation-specific default HTTP configuration. */ protected AttributeMap childHttpConfig() { return AttributeMap.empty(); }
/** * @return Builder instance to construct a {@link ApacheSdkHttpClientFactory}. */ public static Builder builder() { return new DefaultBuilder(AttributeMap.builder()); }
/** * Gets an unmodeled piece of metadata. Useful for protocol specific options. * * @param key Key the metadata was registered under. * @param <T> Type of metadata being requested. * @return The value of the additional metadata being requested or null if it's not present. */ public <T> T addtionalMetadata(OperationMetadataAttribute<T> key) { return additionalMetadata.get(key); }
/** * Create a {@link SdkHttpClient} without defaults applied. This is useful for reusing an HTTP client across multiple * services. */ default SdkHttpClient build() { return buildWithDefaults(AttributeMap.empty()); }
@Override public Builder toBuilder() { return builder().putAll(attributes); }
@Override public Builder toBuilder() { return new Builder(attributes.toBuilder()); }
public int maxConnections() { return configuration.get(MAX_CONNECTIONS); }
/** * Merge this configuration with another configuration, where this configuration's values take precedence. */ public SdkClientConfiguration merge(SdkClientConfiguration configuration) { return new SdkClientConfiguration(attributes.merge(configuration.attributes)); }
/** * Create a {@link SdkAsyncHttpClient} without defaults applied. This is useful for reusing an HTTP client across * multiple services. */ default SdkAsyncHttpClient build() { return buildWithDefaults(AttributeMap.empty()); }
@Override public Builder advancedOptions(Map<SdkAdvancedClientOption<?>, ?> advancedOptions) { this.advancedOptions = AttributeMap.builder(); this.advancedOptions.putAll(advancedOptions); return this; }