Package com.azure.core.util
Class ConfigurationBuilder
java.lang.Object
com.azure.core.util.ConfigurationBuilder
Builds
Configuration with external source.-
Constructor Summary
ConstructorsConstructorDescriptionCreatesConfigurationBuilder.CreatesConfigurationBuilderwith configuration source.ConfigurationBuilder(ConfigurationSource source, ConfigurationSource systemPropertiesConfigurationSource, ConfigurationSource environmentConfigurationSource) CreatesConfigurationBuilderwith configuration sources for explicit configuration, system properties and environment configuration sources. -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds rootConfigurationsection.buildSection(String path) BuildsConfigurationsection that supports retrieving properties from client-specific section with fallback to root section for properties that can be shared between clients.putProperty(String name, String value) Adds property to the configuration source.Sets path to root configuration properties where shared Azure SDK properties are defined.
-
Constructor Details
-
ConfigurationBuilder
public ConfigurationBuilder()CreatesConfigurationBuilder.configuration = new ConfigurationBuilder() .putProperty("azure.sdk.client-name.connection-string", "...") .root("azure.sdk") .buildSection("client-name"); ConfigurationProperty<String> connectionStringProperty = ConfigurationPropertyBuilder.ofString("connection-string") .build(); System.out.println(configuration.get(connectionStringProperty)); -
ConfigurationBuilder
CreatesConfigurationBuilderwith configuration source.Configuration configuration = new ConfigurationBuilder(new SampleSource(properties)) .root("azure.sdk") .buildSection("client-name"); ConfigurationProperty<String> proxyHostnameProperty = ConfigurationPropertyBuilder.ofString("http.proxy.hostname") .shared(true) .build(); System.out.println(configuration.get(proxyHostnameProperty));- Parameters:
source- CustomConfigurationSourcecontaining known Azure SDK configuration properties.
-
ConfigurationBuilder
public ConfigurationBuilder(ConfigurationSource source, ConfigurationSource systemPropertiesConfigurationSource, ConfigurationSource environmentConfigurationSource) CreatesConfigurationBuilderwith configuration sources for explicit configuration, system properties and environment configuration sources. Use this constructor to customize known Azure SDK system properties and environment variables retrieval.- Parameters:
source- CustomConfigurationSourcecontaining known Azure SDK configuration propertiessystemPropertiesConfigurationSource-ConfigurationSourcecontaining known Azure SDK system properties.environmentConfigurationSource-ConfigurationSourcecontaining known Azure SDK environment variables.
-
-
Method Details
-
putProperty
Adds property to the configuration source. In case the source already contains property with the same name, the value will be overwritten with the new value passed.configuration = new ConfigurationBuilder() .putProperty("azure.sdk.client-name.connection-string", "...") .root("azure.sdk") .buildSection("client-name"); ConfigurationProperty<String> connectionStringProperty = ConfigurationPropertyBuilder.ofString("connection-string") .build(); System.out.println(configuration.get(connectionStringProperty));- Parameters:
name- Property name.value- Property value.- Returns:
ConfigurationBuilderinstance for chaining.
-
root
Sets path to root configuration properties where shared Azure SDK properties are defined. When local per-client property is missing,Configurationfalls back to shared properties.Configuration configuration = new ConfigurationBuilder(new SampleSource(properties)) .root("azure.sdk") .buildSection("client-name"); ConfigurationProperty<String> proxyHostnameProperty = ConfigurationPropertyBuilder.ofString("http.proxy.hostname") .shared(true) .build(); System.out.println(configuration.get(proxyHostnameProperty));- Parameters:
rootPath- absolute root path, can benull.- Returns:
ConfigurationBuilderinstance for chaining.
-
build
Builds rootConfigurationsection. Use it for shared properties only. To read client-specific configuration, usebuildSection(String)which can read per-client and shared properties.// Builds shared Configuration only. Configuration sharedConfiguration = new ConfigurationBuilder(new SampleSource(properties)) .root("azure.sdk") .build();- Returns:
- Root
Configurationwith shared properties.
-
buildSection
BuildsConfigurationsection that supports retrieving properties from client-specific section with fallback to root section for properties that can be shared between clients.// Builds Configuration for <client-name> with fallback to shared properties. configuration = new ConfigurationBuilder(new SampleSource(properties)) .root("azure.sdk") .buildSection("client-name");- Parameters:
path- relative path fromroot(String)to client section.- Returns:
- Client
Configurationcapable of reading client-specific and shared properties.
-