public class BuilderConfigurationWrapperFactory extends Object
 A class that allows the creation of configuration objects wrapping a
 ConfigurationBuilder.
 
 Using this class special ImmutableConfiguration proxies can be created that
 delegate all method invocations to another ImmutableConfiguration obtained
 from a ConfigurationBuilder. For instance, if there is a
 configuration c wrapping the builder builder, the call
 c.getString(myKey) is transformed to
 builder.getConfiguration().getString(myKey).
 
 There are multiple use cases for such a constellation. One example is that
 client code can continue working with ImmutableConfiguration objects while
 under the hood builders are used. Another example is that dynamic
 configurations can be realized in a transparent way: a client holds a single
 configuration (proxy) object, but the underlying builder may return a
 different data object on each call.
 
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
BuilderConfigurationWrapperFactory.EventSourceSupport
 An enumeration class with different options for supporting the
  
EventSource interface in generated ImmutableConfiguration proxies. | 
| Constructor and Description | 
|---|
BuilderConfigurationWrapperFactory()
Creates a new instance of  
BuilderConfigurationWrapperFactory
 setting the default EventSourceSupport NONE. | 
BuilderConfigurationWrapperFactory(BuilderConfigurationWrapperFactory.EventSourceSupport evSrcSupport)
Creates a new instance of  
BuilderConfigurationWrapperFactory and
 sets the property for supporting the EventSource interface. | 
| Modifier and Type | Method and Description | 
|---|---|
<T extends ImmutableConfiguration> | 
createBuilderConfigurationWrapper(Class<T> ifcClass,
                                 ConfigurationBuilder<? extends T> builder)
Creates a wrapper  
ImmutableConfiguration on top of the specified
 ConfigurationBuilder. | 
static <T extends ImmutableConfiguration> | 
createBuilderConfigurationWrapper(Class<T> ifcClass,
                                 ConfigurationBuilder<? extends T> builder,
                                 BuilderConfigurationWrapperFactory.EventSourceSupport evSrcSupport)
Returns a  
ImmutableConfiguration object which wraps the specified
 ConfigurationBuilder. | 
BuilderConfigurationWrapperFactory.EventSourceSupport | 
getEventSourceSupport()
Returns the level of  
EventSource support used when generating
 ImmutableConfiguration objects. | 
public BuilderConfigurationWrapperFactory(BuilderConfigurationWrapperFactory.EventSourceSupport evSrcSupport)
BuilderConfigurationWrapperFactory and
 sets the property for supporting the EventSource interface.evSrcSupport - the level of EventSource supportpublic BuilderConfigurationWrapperFactory()
BuilderConfigurationWrapperFactory
 setting the default EventSourceSupport NONE.public <T extends ImmutableConfiguration> T createBuilderConfigurationWrapper(Class<T> ifcClass, ConfigurationBuilder<? extends T> builder)
ImmutableConfiguration on top of the specified
 ConfigurationBuilder. This implementation delegates to
 createBuilderConfigurationWrapper(Class, ConfigurationBuilder, EventSourceSupport)
 .T - the type of the configuration objects returned by this methodifcClass - the class of the configuration objects returned by this
        method; this must be an interface class and must not be
        nullbuilder - the wrapped ConfigurationBuilder (must not be
        null)IllegalArgumentException - if a required parameter is missingConfigurationRuntimeException - if an error
         occurs when creating the result ImmutableConfigurationpublic BuilderConfigurationWrapperFactory.EventSourceSupport getEventSourceSupport()
EventSource support used when generating
 ImmutableConfiguration objects.EventSource supportpublic static <T extends ImmutableConfiguration> T createBuilderConfigurationWrapper(Class<T> ifcClass, ConfigurationBuilder<? extends T> builder, BuilderConfigurationWrapperFactory.EventSourceSupport evSrcSupport)
ImmutableConfiguration object which wraps the specified
 ConfigurationBuilder. Each access of the configuration is
 delegated to a corresponding call on the ImmutableConfiguration object
 managed by the builder. This is a convenience method which allows
 creating wrapper configurations without having to instantiate this class.T - the type of the configuration objects returned by this methodifcClass - the class of the configuration objects returned by this
        method; this must be an interface class and must not be
        nullbuilder - the wrapped ConfigurationBuilder (must not be
        null)evSrcSupport - the level of EventSource supportIllegalArgumentException - if a required parameter is missingConfigurationRuntimeException - if an error
         occurs when creating the result ImmutableConfigurationCopyright © 2001–2020 The Apache Software Foundation. All rights reserved.