Package com.azure.core.util
Class ConfigurationBuilder
- java.lang.Object
-
- com.azure.core.util.ConfigurationBuilder
-
public final class ConfigurationBuilder extends Object
BuildsConfigurationwith external source.
-
-
Constructor Summary
Constructors Constructor Description ConfigurationBuilder()CreatesConfigurationBuilder.ConfigurationBuilder(ConfigurationSource source)CreatesConfigurationBuilderwith configuration source.ConfigurationBuilder(ConfigurationSource source, ConfigurationSource systemPropertiesConfigurationSource, ConfigurationSource environmentConfigurationSource)CreatesConfigurationBuilderwith configuration sources for explicit configuration, system properties and environment configuration sources.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Configurationbuild()Builds rootConfigurationsection.ConfigurationbuildSection(String path)BuildsConfigurationsection that supports retrieving properties from client-specific section with fallback to root section for properties that can be shared between clients.ConfigurationBuilderputProperty(String name, String value)Adds property to the configuration source.ConfigurationBuilderroot(String rootPath)Sets path to root configuration properties where shared Azure SDK properties are defined.
-
-
-
Constructor Detail
-
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
public ConfigurationBuilder(ConfigurationSource source)
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 Detail
-
putProperty
public ConfigurationBuilder putProperty(String name, String value)
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
public ConfigurationBuilder root(String rootPath)
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
public Configuration 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
public Configuration 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.// 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.
-
-