Class Declaration
- java.lang.Object
-
- org.apache.commons.digester.plugins.Declaration
-
public class Declaration extends java.lang.Object
Represents a Class that can be instantiated by a PluginCreateRule, plus info on how to load custom digester rules for mapping xml into that plugged-in class.- Since:
- 1.6
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
id
private boolean
initialized
private java.lang.Class
pluginClass
The class of the object to be instantiated.private java.lang.String
pluginClassName
The name of the class of the object to be instantiated.private java.util.Properties
properties
private RuleLoader
ruleLoader
Class which is responsible for dynamically loading this plugin's rules on demand.
-
Constructor Summary
Constructors Constructor Description Declaration(java.lang.Class pluginClass)
Constructor.Declaration(java.lang.Class pluginClass, RuleLoader ruleLoader)
Create an instance where a fully-initialised ruleLoader instance is provided by the caller instead of having the PluginManager "discover" an appropriate one.Declaration(java.lang.String pluginClassName)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configure(Digester digester, java.lang.String pattern)
Attempt to load custom rules for the target class at the specified pattern.java.lang.String
getId()
Return the id associated with this declaration.java.lang.Class
getPluginClass()
Return plugin class associated with this declaration.void
init(Digester digester, PluginManager pm)
Must be called exactly once, and must be called before any call to the configure method.void
setId(java.lang.String id)
The id that the user associated with a particular plugin declaration in the input xml.void
setProperties(java.util.Properties p)
Copy all (key,value) pairs in the param into the properties member of this object.
-
-
-
Field Detail
-
pluginClass
private java.lang.Class pluginClass
The class of the object to be instantiated.
-
pluginClassName
private java.lang.String pluginClassName
The name of the class of the object to be instantiated.
-
id
private java.lang.String id
-
properties
private java.util.Properties properties
-
initialized
private boolean initialized
-
ruleLoader
private RuleLoader ruleLoader
Class which is responsible for dynamically loading this plugin's rules on demand.
-
-
Constructor Detail
-
Declaration
public Declaration(java.lang.String pluginClassName)
Constructor.
-
Declaration
public Declaration(java.lang.Class pluginClass)
Constructor.
-
Declaration
public Declaration(java.lang.Class pluginClass, RuleLoader ruleLoader)
Create an instance where a fully-initialised ruleLoader instance is provided by the caller instead of having the PluginManager "discover" an appropriate one.
-
-
Method Detail
-
setId
public void setId(java.lang.String id)
The id that the user associated with a particular plugin declaration in the input xml. This id is later used in the input xml to refer back to the original declaration.For plugins declared "in-line", the id is null.
-
getId
public java.lang.String getId()
Return the id associated with this declaration. For plugins declared "inline", null will be returned.- Returns:
- The id value. May be null.
-
setProperties
public void setProperties(java.util.Properties p)
Copy all (key,value) pairs in the param into the properties member of this object.The declaration properties cannot be explicit member variables, because the set of useful properties a user can provide on a declaration depends on what RuleFinder classes are available - and extra RuleFinders can be added by the user. So here we keep a map of the settings, and let the RuleFinder objects look for whatever properties they consider significant.
The "id" and "class" properties are treated differently.
-
getPluginClass
public java.lang.Class getPluginClass()
Return plugin class associated with this declaration.- Returns:
- The pluginClass.
-
init
public void init(Digester digester, PluginManager pm) throws PluginException
Must be called exactly once, and must be called before any call to the configure method.- Throws:
PluginException
-
configure
public void configure(Digester digester, java.lang.String pattern) throws PluginException
Attempt to load custom rules for the target class at the specified pattern.On return, any custom rules associated with the plugin class have been loaded into the Rules object currently associated with the specified digester object.
- Throws:
PluginException
-
-