Class FactoryConfiguration
- java.lang.Object
-
- org.apache.velocity.tools.config.Configuration
-
- org.apache.velocity.tools.config.CompoundConfiguration<ToolboxConfiguration>
-
- org.apache.velocity.tools.config.FactoryConfiguration
-
- All Implemented Interfaces:
java.lang.Comparable<Configuration>
- Direct Known Subclasses:
EasyFactoryConfiguration
,FileFactoryConfiguration
public class FactoryConfiguration extends CompoundConfiguration<ToolboxConfiguration>
This class serves to define configuration info for a
ToolboxFactory
. It contains theToolboxConfiguration
s for the factory as well as anyData
which is to be made available in the application scope by the factory and anyProperty
s which you intend to be available to all tools managed by the factory, regardless of toolbox or scope.Most users will not find themselves directly using the API of this class, as its subclasses generally provide much simpler means of inputting the actual configuration info whether from XML, Java or a Properties files.
When combining any
Configuration
s via the variousaddConfiguration(org.apache.velocity.tools.config.FactoryConfiguration)
methods in each class, it is essential to remember that subsequent configurations always override previous ones. This is a "last entry wins" approach to configuration!For debugging, this class tracks its "sources", keeping a chronological list of all sources for configuration data. When you add configuration info to this class via
addConfiguration(org.apache.velocity.tools.config.FactoryConfiguration)
, the source lists from thoseFactoryConfiguration
s is appended to this instance's list. The initial item in this list will typically be the name of the FactoryConfiguration class (or subclass) along with a caller-provided string identifying where this instance was created. This aids greatly in debugging combined, complex configurations. You may add further sources at any time viaaddSource(java.lang.String)
.The
toString()
method of this class provides a complete and well-formatted listing of the configuration info contained within this instance and is also very useful for debugging.- Version:
- $Id: FactoryConfiguration.java 511959 2007-02-26 19:24:39Z nbubna $
- Author:
- Nathan Bubna
-
-
Constructor Summary
Constructors Modifier Constructor Description FactoryConfiguration()
protected
FactoryConfiguration(java.lang.Class clazz, java.lang.String source)
Allows subclasses to construct an instance that uses their classname.FactoryConfiguration(java.lang.String source)
Creates a new instance with the specified source name combined with this class's name as the initial source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConfiguration(FactoryConfiguration config)
void
addData(Data newDatum)
void
addSource(java.lang.String source)
void
addToolbox(ToolboxConfiguration toolbox)
ToolboxFactory
createFactory()
boolean
equals(java.lang.Object o)
This will consider the object equal if it is a FactoryConfiguration and whosetoString(boolean)
method, when passedfalse
, returns a String equal to that returned by a call to toString(false) on this instance.java.util.SortedSet<Data>
getData()
Data
getData(java.lang.String key)
Data
getData(Data findme)
java.lang.String
getSource()
Returns the original source of this particular instance.java.util.List<java.lang.String>
getSources()
Returns the list of sources for this configuration info in order starting from the source name given to this instance (if any) and going to the most recently added source.ToolboxConfiguration
getToolbox(java.lang.String scope)
java.util.Collection<ToolboxConfiguration>
getToolboxes()
boolean
hasData()
int
hashCode()
boolean
removeData(Data datum)
void
removeToolbox(ToolboxConfiguration toolbox)
void
setData(java.util.Collection<Data> data)
void
setSource(java.lang.String source)
Sets the name of the original source of this particular instance.void
setToolboxes(java.util.Collection<ToolboxConfiguration> toolboxes)
java.lang.String
toString()
java.lang.String
toString(boolean includeSources)
void
validate()
-
Methods inherited from class org.apache.velocity.tools.config.CompoundConfiguration
addChild, addConfiguration, appendChildren, getChild, getChildren, hasChildren, removeChild, setChildren
-
Methods inherited from class org.apache.velocity.tools.config.Configuration
addConfiguration, addProperty, appendProperties, compareTo, getProperties, getProperty, getPropertyMap, hasProperties, removeProperty, removeProperty, setProperties, setProperty, setPropertyMap
-
-
-
-
Field Detail
-
data
private final java.util.SortedSet<Data> data
-
sources
private final java.util.List<java.lang.String> sources
-
-
Constructor Detail
-
FactoryConfiguration
public FactoryConfiguration()
-
FactoryConfiguration
public FactoryConfiguration(java.lang.String source)
Creates a new instance with the specified source name combined with this class's name as the initial source.
-
FactoryConfiguration
protected FactoryConfiguration(java.lang.Class clazz, java.lang.String source)
Allows subclasses to construct an instance that uses their classname.
-
-
Method Detail
-
getSource
public java.lang.String getSource()
Returns the original source of this particular instance.
-
setSource
public void setSource(java.lang.String source)
Sets the name of the original source of this particular instance. This does not affect subsequently added sources.
-
getSources
public java.util.List<java.lang.String> getSources()
Returns the list of sources for this configuration info in order starting from the source name given to this instance (if any) and going to the most recently added source.
-
addSource
public void addSource(java.lang.String source)
-
addData
public void addData(Data newDatum)
-
removeData
public boolean removeData(Data datum)
-
getData
public Data getData(java.lang.String key)
-
hasData
public boolean hasData()
-
getData
public java.util.SortedSet<Data> getData()
-
setData
public void setData(java.util.Collection<Data> data)
-
addToolbox
public void addToolbox(ToolboxConfiguration toolbox)
-
removeToolbox
public void removeToolbox(ToolboxConfiguration toolbox)
-
getToolbox
public ToolboxConfiguration getToolbox(java.lang.String scope)
-
getToolboxes
public java.util.Collection<ToolboxConfiguration> getToolboxes()
-
setToolboxes
public void setToolboxes(java.util.Collection<ToolboxConfiguration> toolboxes)
-
addConfiguration
public void addConfiguration(FactoryConfiguration config)
-
validate
public void validate()
- Overrides:
validate
in classCompoundConfiguration<ToolboxConfiguration>
-
equals
public boolean equals(java.lang.Object o)
This will consider the object equal if it is a FactoryConfiguration and whosetoString(boolean)
method, when passedfalse
, returns a String equal to that returned by a call to toString(false) on this instance.toString(boolean)
is used since that returns a String encompassing all relevant info about the configuration except for the source information. In other words, two FactoryConfigurations are considered equal if they have the same data, properties and toolboxes in String form.- Overrides:
equals
in classCompoundConfiguration<ToolboxConfiguration>
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classCompoundConfiguration<ToolboxConfiguration>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toString
public java.lang.String toString(boolean includeSources)
-
createFactory
public ToolboxFactory createFactory()
-
-