public abstract class ConfigurationFactory extends Object
Configuration
objects from a configuration file.
ConfigurationFactory allows the configuration implementation to be
dynamically chosen in 1 of 3 ways:
ConfigurationFactory
category. The Order
annotation should be used to configure the
factory to be the first one inspected. See
XmlConfigurationFactory for an example.Modifier and Type | Field and Description |
---|---|
static String |
CATEGORY
Plugin category used to inject a ConfigurationFactory
Plugin
class. |
static String |
CONFIGURATION_FACTORY_PROPERTY
Allow the ConfigurationFactory class to be specified as a system property.
|
static String |
CONFIGURATION_FILE_PROPERTY
Allow the location of the configuration file to be specified as a system property.
|
protected static String |
DEFAULT_PREFIX
File name prefix for standard configurations.
|
protected static org.apache.logging.log4j.Logger |
LOGGER
Allow subclasses access to the status logger without creating another instance.
|
protected StrSubstitutor |
substitutor |
protected static String |
TEST_PREFIX
File name prefix for test configurations.
|
Constructor and Description |
---|
ConfigurationFactory() |
Modifier and Type | Method and Description |
---|---|
abstract Configuration |
getConfiguration(ConfigurationSource source) |
Configuration |
getConfiguration(String name,
URI configLocation)
Returns the Configuration.
|
Configuration |
getConfiguration(String name,
URI configLocation,
ClassLoader loader)
Returns the Configuration obtained using a given ClassLoader.
|
protected ConfigurationSource |
getInputFromResource(String resource,
ClassLoader loader)
Retrieve the configuration via the ClassLoader.
|
protected ConfigurationSource |
getInputFromString(String config,
ClassLoader loader)
Load the configuration from the location represented by the String.
|
protected ConfigurationSource |
getInputFromUri(URI configLocation)
Load the configuration from a URI.
|
static ConfigurationFactory |
getInstance()
Returns the ConfigurationFactory.
|
protected abstract String[] |
getSupportedTypes() |
protected boolean |
isActive() |
static void |
removeConfigurationFactory(ConfigurationFactory factory)
Remove the ConfigurationFactory.
|
static void |
resetConfigurationFactory()
Reset the ConfigurationFactory to the default.
|
static void |
setConfigurationFactory(ConfigurationFactory factory)
Set the configuration factory.
|
public static final String CONFIGURATION_FACTORY_PROPERTY
public static final String CONFIGURATION_FILE_PROPERTY
public static final String CATEGORY
Plugin
class.protected static final org.apache.logging.log4j.Logger LOGGER
protected static final String TEST_PREFIX
protected static final String DEFAULT_PREFIX
protected final StrSubstitutor substitutor
public ConfigurationFactory()
public static ConfigurationFactory getInstance()
public static void setConfigurationFactory(ConfigurationFactory factory)
factory
- the ConfigurationFactory.public static void resetConfigurationFactory()
public static void removeConfigurationFactory(ConfigurationFactory factory)
factory
- The factory to remove.protected abstract String[] getSupportedTypes()
protected boolean isActive()
public abstract Configuration getConfiguration(ConfigurationSource source)
public Configuration getConfiguration(String name, URI configLocation)
name
- The configuration name.configLocation
- The configuration location.public Configuration getConfiguration(String name, URI configLocation, ClassLoader loader)
name
- The configuration name.configLocation
- A URI representing the location of the configuration.loader
- The default ClassLoader to use. If this is null
, then the
default ClassLoader will be used.protected ConfigurationSource getInputFromUri(URI configLocation)
configLocation
- A URI representing the location of the configuration.protected ConfigurationSource getInputFromString(String config, ClassLoader loader)
config
- The configuration location.loader
- The default ClassLoader to use.protected ConfigurationSource getInputFromResource(String resource, ClassLoader loader)
resource
- The resource to load.loader
- The default ClassLoader to use.Copyright © 1999-2021 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.