Package com.azure.core.util
Class ConfigurationBuilder
java.lang.Object
com.azure.core.util.ConfigurationBuilder
Builds
Configuration
with external source.-
Constructor Summary
ConstructorDescriptionCreatesConfigurationBuilder
.CreatesConfigurationBuilder
with configuration source.ConfigurationBuilder
(ConfigurationSource source, ConfigurationSource systemPropertiesConfigurationSource, ConfigurationSource environmentConfigurationSource) CreatesConfigurationBuilder
with configuration sources for explicit configuration, system properties and environment configuration sources. -
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds rootConfiguration
section.buildSection
(String path) BuildsConfiguration
section 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
CreatesConfigurationBuilder
with 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
- CustomConfigurationSource
containing known Azure SDK configuration properties.
-
ConfigurationBuilder
public ConfigurationBuilder(ConfigurationSource source, ConfigurationSource systemPropertiesConfigurationSource, ConfigurationSource environmentConfigurationSource) CreatesConfigurationBuilder
with 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
- CustomConfigurationSource
containing known Azure SDK configuration propertiessystemPropertiesConfigurationSource
-ConfigurationSource
containing known Azure SDK system properties.environmentConfigurationSource
-ConfigurationSource
containing 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:
ConfigurationBuilder
instance for chaining.
-
root
Sets path to root configuration properties where shared Azure SDK properties are defined. When local per-client property is missing,Configuration
falls 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:
ConfigurationBuilder
instance for chaining.
-
build
Builds rootConfiguration
section. 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
Configuration
with shared properties.
-
buildSection
BuildsConfiguration
section 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
Configuration
capable of reading client-specific and shared properties.
-