Class FactoryConfiguration
- All Implemented Interfaces:
Comparable<Configuration>
- Direct Known Subclasses:
EasyFactoryConfiguration
,FileFactoryConfiguration
This class serves to define configuration info for a ToolboxFactory
.
It contains the ToolboxConfiguration
s for the factory as well
as any Data
which is to be made available in the application scope
by the factory and any Property
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 various
addConfiguration(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 those
FactoryConfiguration
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 via
addSource(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
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
FactoryConfiguration
(Class clazz, String source) Allows subclasses to construct an instance that uses their classname.FactoryConfiguration
(String source) Creates a new instance with the specified source name combined with this class's name as the initial source. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addConfiguration
(FactoryConfiguration config) void
void
void
addToolbox
(ToolboxConfiguration toolbox) boolean
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.getData()
Returns the original source of this particular instance.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.getToolbox
(String scope) boolean
hasData()
int
hashCode()
boolean
removeData
(Data datum) void
removeToolbox
(ToolboxConfiguration toolbox) void
setData
(Collection<Data> data) void
Sets the name of the original source of this particular instance.void
setToolboxes
(Collection<ToolboxConfiguration> toolboxes) toString()
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 Details
-
data
-
sources
-
-
Constructor Details
-
FactoryConfiguration
public FactoryConfiguration() -
FactoryConfiguration
Creates a new instance with the specified source name combined with this class's name as the initial source. -
FactoryConfiguration
Allows subclasses to construct an instance that uses their classname.
-
-
Method Details
-
getSource
Returns the original source of this particular instance. -
setSource
Sets the name of the original source of this particular instance. This does not affect subsequently added sources. -
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
-
addData
-
removeData
-
getData
-
getData
-
hasData
public boolean hasData() -
getData
-
setData
-
addToolbox
-
removeToolbox
-
getToolbox
-
getToolboxes
-
setToolboxes
-
addConfiguration
-
validate
public void validate()- Overrides:
validate
in classCompoundConfiguration<ToolboxConfiguration>
-
equals
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
-
toString
-
createFactory
-