|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.digester.Rule org.apache.commons.digester.plugins.PluginCreateRule
public class PluginCreateRule
Allows the original rules for parsing the configuration file to define points at which plugins are allowed, by configuring a PluginCreateRule with the appropriate pattern.
Field Summary |
---|
Fields inherited from class org.apache.commons.digester.Rule |
---|
digester, namespaceURI |
Constructor Summary | |
---|---|
PluginCreateRule(java.lang.Class baseClass)
Create a plugin rule where the user must specify a plugin-class or plugin-id. |
|
PluginCreateRule(java.lang.Class baseClass,
java.lang.Class dfltPluginClass)
Create a plugin rule where the user may specify a plugin. |
|
PluginCreateRule(java.lang.Class baseClass,
java.lang.Class dfltPluginClass,
RuleLoader dfltPluginRuleLoader)
Create a plugin rule where the user may specify a plugin. |
Method Summary | |
---|---|
void |
begin(java.lang.String namespace,
java.lang.String name,
org.xml.sax.Attributes attributes)
Invoked when the Digester matches this rule against an xml element. |
void |
body(java.lang.String namespace,
java.lang.String name,
java.lang.String text)
Process the body text of this element. |
void |
end(java.lang.String namespace,
java.lang.String name)
Invoked by the digester when the closing tag matching this Rule's pattern is encountered. |
void |
fireBeginMethods(java.util.List rules,
java.lang.String namespace,
java.lang.String name,
org.xml.sax.Attributes list)
Duplicate the processing that the Digester does when firing the begin methods of rules. |
void |
fireEndMethods(java.util.List rules,
java.lang.String namespaceURI,
java.lang.String name)
Duplicate the processing that the Digester does when firing the end methods of rules. |
java.lang.String |
getPattern()
Return the pattern that this Rule is associated with. |
void |
postRegisterInit(java.lang.String matchPattern)
Invoked after this rule has been added to the set of digester rules, associated with the specified pattern. |
void |
setPluginClassAttribute(java.lang.String namespaceUri,
java.lang.String attrName)
Sets the xml attribute which the input xml uses to indicate to a PluginCreateRule which class should be instantiated. |
void |
setPluginIdAttribute(java.lang.String namespaceUri,
java.lang.String attrName)
Sets the xml attribute which the input xml uses to indicate to a PluginCreateRule which plugin declaration is being referenced. |
Methods inherited from class org.apache.commons.digester.Rule |
---|
begin, body, end, finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PluginCreateRule(java.lang.Class baseClass)
baseClass
- is the class which any specified plugin must be
descended from.public PluginCreateRule(java.lang.Class baseClass, java.lang.Class dfltPluginClass)
baseClass
- is the class which any specified plugin must be
descended from.dfltPluginClass
- is the class which will be used if the user
doesn't specify any plugin-class or plugin-id. This class will have
custom rules installed for it just like a declared plugin.public PluginCreateRule(java.lang.Class baseClass, java.lang.Class dfltPluginClass, RuleLoader dfltPluginRuleLoader)
baseClass
- is the class which any specified plugin must be
descended from.dfltPluginClass
- is the class which will be used if the user
doesn't specify any plugin-class or plugin-id. This class will have
custom rules installed for it just like a declared plugin.dfltPluginRuleLoader
- is a RuleLoader instance which knows how
to load the custom rules associated with this default plugin.Method Detail |
---|
public void setPluginClassAttribute(java.lang.String namespaceUri, java.lang.String attrName)
See PluginRules.setPluginClassAttribute(java.lang.String, java.lang.String)
for more info.
public void setPluginIdAttribute(java.lang.String namespaceUri, java.lang.String attrName)
See PluginRules.setPluginIdAttribute(java.lang.String, java.lang.String)
for more info.
public void postRegisterInit(java.lang.String matchPattern) throws PluginConfigurationException
postRegisterInit
in interface InitializableRule
matchPattern
- is the digester match pattern that is associated
with this rule instance, eg "root/widget".
PluginConfigurationException
public void begin(java.lang.String namespace, java.lang.String name, org.xml.sax.Attributes attributes) throws java.lang.Exception
A new instance of the target class is created, and pushed onto the stack. A new "private" PluginRules object is then created and set as the digester's default Rules object. Any custom rules associated with the plugin class are then loaded into that new Rules object. Finally, any custom rules that are associated with the current pattern (such as SetPropertiesRules) have their begin methods executed.
begin
in class Rule
namespace
- name
- attributes
-
java.lang.ClassNotFoundException
PluginInvalidInputException
PluginConfigurationException
java.lang.Exception
public void body(java.lang.String namespace, java.lang.String name, java.lang.String text) throws java.lang.Exception
body
in class Rule
text
- The body text of this elementnamespace
- the namespace URI of the matching element, or an
empty string if the parser is not namespace aware or the element has
no namespacename
- the local name if the parser is namespace aware, or just
the element name otherwise
java.lang.Exception
public void end(java.lang.String namespace, java.lang.String name) throws java.lang.Exception
end
in class Rule
namespace
- Description of the Parametername
- Description of the Parameter
java.lang.Exception
- Description of the Exceptionbegin(java.lang.String, java.lang.String, org.xml.sax.Attributes)
public java.lang.String getPattern()
In general, Rule instances can be associated with multiple patterns. A PluginCreateRule, however, will only function correctly when associated with a single pattern. It is possible to fix this, but I can't be bothered just now because this feature is unlikely to be used.
public void fireBeginMethods(java.util.List rules, java.lang.String namespace, java.lang.String name, org.xml.sax.Attributes list) throws java.lang.Exception
java.lang.Exception
public void fireEndMethods(java.util.List rules, java.lang.String namespaceURI, java.lang.String name) throws java.lang.Exception
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |