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)
Creates a
ImmutableConfiguration object which wraps the specified ConfigurationBuilder. |
BuilderConfigurationWrapperFactory.EventSourceSupport |
getEventSourceSupport()
Gets 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–2022 The Apache Software Foundation. All rights reserved.