Class HierarchicalConfiguration
- java.lang.Object
-
- org.pentaho.reporting.libraries.base.config.HierarchicalConfiguration
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Configuration
,ModifiableConfiguration
- Direct Known Subclasses:
PropertyFileConfiguration
,SystemPropertyConfiguration
public class HierarchicalConfiguration extends Object implements ModifiableConfiguration
A hierarchical configuration. Such a configuration can have one or more parent configurations providing usefull default values.- Author:
- Thomas Morgner
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description HierarchicalConfiguration()
Creates a new configuration.HierarchicalConfiguration(Class booterClass)
Creates a new configuration, that is able to reconnect itself to the global configuration after deserialization.HierarchicalConfiguration(Configuration parentConfiguration)
Creates a new configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAll(Configuration config)
Object
clone()
Clones this configuration.Iterator<String>
findPropertyKeys(String prefix)
Searches all property keys that start with a given prefix.Enumeration<String>
getConfigProperties()
Returns all defined configuration properties for the report.String
getConfigProperty(String key)
Returns the configuration property with the specified key.String
getConfigProperty(String key, String defaultValue)
Returns the configuration property with the specified key (or the specified default value if there is no such property).protected Properties
getConfiguration()
Returns the collection of properties for the configuration.protected Configuration
getParentConfig()
Returns the parent configuration.void
insertConfiguration(HierarchicalConfiguration config)
The new configuartion will be inserted into the list of report configuration, so that this configuration has the given report configuration instance as parent.boolean
isLocallyDefined(String key)
Checks, whether the given key is localy defined in this instance or whether the key's value is inherited.void
reconnectConfiguration(Configuration config)
void
setConfigProperty(String key, String value)
Sets a configuration property.protected void
setParentConfig(Configuration config)
Set the parent configuration.
-
-
-
Constructor Detail
-
HierarchicalConfiguration
public HierarchicalConfiguration()
Creates a new configuration.
-
HierarchicalConfiguration
public HierarchicalConfiguration(Configuration parentConfiguration)
Creates a new configuration.- Parameters:
parentConfiguration
- the parent configuration.
-
HierarchicalConfiguration
public HierarchicalConfiguration(Class booterClass)
Creates a new configuration, that is able to reconnect itself to the global configuration after deserialization.- Parameters:
booterClass
- the booter class that holds the global configuration.
-
-
Method Detail
-
getConfigProperty
public String getConfigProperty(String key)
Returns the configuration property with the specified key.- Specified by:
getConfigProperty
in interfaceConfiguration
- Parameters:
key
- the property key.- Returns:
- the property value.
-
getConfigProperty
public String getConfigProperty(String key, String defaultValue)
Returns the configuration property with the specified key (or the specified default value if there is no such property). If the property is not defined in this configuration, the code will lookup the property in the parent configuration.- Specified by:
getConfigProperty
in interfaceConfiguration
- Parameters:
key
- the property key.defaultValue
- the default value.- Returns:
- the property value.
-
setConfigProperty
public void setConfigProperty(String key, String value)
Sets a configuration property.- Specified by:
setConfigProperty
in interfaceModifiableConfiguration
- Parameters:
key
- the property key.value
- the property value.
-
isLocallyDefined
public boolean isLocallyDefined(String key)
Checks, whether the given key is localy defined in this instance or whether the key's value is inherited.- Parameters:
key
- the key that should be checked.- Returns:
- true, if the key is defined locally, false otherwise.
-
getConfiguration
protected Properties getConfiguration()
Returns the collection of properties for the configuration.- Returns:
- the properties.
-
insertConfiguration
public void insertConfiguration(HierarchicalConfiguration config)
The new configuartion will be inserted into the list of report configuration, so that this configuration has the given report configuration instance as parent.- Parameters:
config
- the new report configuration.
-
reconnectConfiguration
public void reconnectConfiguration(Configuration config)
-
setParentConfig
protected void setParentConfig(Configuration config)
Set the parent configuration. The parent configuration is queried, if the requested configuration values was not found in this report configuration.- Parameters:
config
- the parent configuration.
-
getParentConfig
protected Configuration getParentConfig()
Returns the parent configuration. The parent configuration is queried, if the requested configuration values was not found in this report configuration.- Returns:
- the parent configuration.
-
getConfigProperties
public Enumeration<String> getConfigProperties()
Returns all defined configuration properties for the report. The enumeration contains all keys of the changed properties, properties set from files or the system properties are not included.- Specified by:
getConfigProperties
in interfaceConfiguration
- Returns:
- all defined configuration properties for the report.
-
findPropertyKeys
public Iterator<String> findPropertyKeys(String prefix)
Searches all property keys that start with a given prefix.- Specified by:
findPropertyKeys
in interfaceConfiguration
- Parameters:
prefix
- the prefix that all selected property keys should share- Returns:
- the properties as iterator.
-
clone
public Object clone()
Clones this configuration.- Specified by:
clone
in interfaceConfiguration
- Overrides:
clone
in classObject
- Returns:
- a clone of this configuration.
-
addAll
public void addAll(Configuration config)
-
-