Class ConfigurationBuilder

java.lang.Object
com.azure.core.util.ConfigurationBuilder

public final class ConfigurationBuilder extends Object
Builds Configuration with external source.
  • Constructor Details

    • ConfigurationBuilder

      public ConfigurationBuilder()
      Creates ConfigurationBuilder.
       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)
      Creates ConfigurationBuilder 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 - Custom ConfigurationSource containing known Azure SDK configuration properties.
    • ConfigurationBuilder

      public ConfigurationBuilder(ConfigurationSource source, ConfigurationSource systemPropertiesConfigurationSource, ConfigurationSource environmentConfigurationSource)
      Creates ConfigurationBuilder 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 - Custom ConfigurationSource containing known Azure SDK configuration properties
      systemPropertiesConfigurationSource - ConfigurationSource containing known Azure SDK system properties.
      environmentConfigurationSource - ConfigurationSource containing known Azure SDK environment variables.
  • Method Details

    • 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:
      ConfigurationBuilder instance 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, 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 be null.
      Returns:
      ConfigurationBuilder instance for chaining.
    • build

      public Configuration build()
      Builds root Configuration section. Use it for shared properties only. To read client-specific configuration, use buildSection(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

      public Configuration buildSection(String path)
      Builds Configuration 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 from root(String) to client section.
      Returns:
      Client Configuration capable of reading client-specific and shared properties.