org.apache.commons.digester

Class Rule

Known Direct Subclasses:
BeanPropertySetterRule, CallMethodRule, CallParamRule, DigesterRuleParser.IncludeRule, DigesterRuleParser.PatternRule, DigesterRuleParser.SetNestedPropertiesAliasRule, DigesterRuleParser.SetPropertiesAliasRule, FactoryCreateRule, NodeCreateRule, ObjectCreateRule, ObjectParamRule, PathCallParamRule, PluginCreateRule, PluginDeclarationRule, SetNestedPropertiesRule, SetNestedPropertiesRule.AnyChildRule, SetNextRule, SetPropertiesRule, SetPropertyRule, SetRootRule, SetTopRule

public abstract class Rule
extends java.lang.Object

Concrete implementations of this class implement actions to be taken when a corresponding nested pattern of XML elements has been matched.

Field Summary

protected Digester
digester
The Digester with which this Rule is associated.
protected String
namespaceURI
The namespace URI for which this Rule is relevant, if any.

Constructor Summary

Rule()
Base constructor.
Rule(Digester digester)
Deprecated. The digester instance is now set in the Digester.addRule(String,Rule) method.

Method Summary

void
begin(Attributes attributes)
Deprecated. Use the begin method with namespace and name parameters instead.
void
begin(String namespace, String name, Attributes attributes)
This method is called when the beginning of a matching XML element is encountered.
void
body(String text)
Deprecated. Use the body method with namespace and name parameters instead.
void
body(String namespace, String name, String text)
This method is called when the body of a matching XML element is encountered.
void
end()
Deprecated. Use the end method with namespace and name parameters instead.
void
end(String namespace, String name)
This method is called when the end of a matching XML element is encountered.
void
finish()
This method is called after all parsing methods have been called, to allow Rules to remove temporary data.
Digester
getDigester()
Return the Digester with which this Rule is associated.
String
getNamespaceURI()
Return the namespace URI for which this Rule is relevant, if any.
void
setDigester(Digester digester)
Set the Digester with which this Rule is associated.
void
setNamespaceURI(String namespaceURI)
Set the namespace URI for which this Rule is relevant, if any.

Field Details

digester

protected Digester digester
The Digester with which this Rule is associated.

namespaceURI

protected String namespaceURI
The namespace URI for which this Rule is relevant, if any.

Constructor Details

Rule

public Rule()
Base constructor. Now the digester will be set when the rule is added.

Rule

public Rule(Digester digester)

Deprecated. The digester instance is now set in the Digester.addRule(String,Rule) method. Use Rule() instead.

Constructor sets the associated Digester.
Parameters:
digester - The digester with which this rule is associated

Method Details

begin

public void begin(Attributes attributes)
            throws Exception

Deprecated. Use the begin method with namespace and name parameters instead.

This method is called when the beginning of a matching XML element is encountered.
Parameters:
attributes - The attribute list of this element

begin

public void begin(String namespace,
                  String name,
                  Attributes attributes)
            throws Exception
Parameters:
namespace - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
name - the local name if the parser is namespace aware, or just the element name otherwise
attributes - The attribute list of this element
Since:
Digester 1.4

body

public void body(String text)
            throws Exception

Deprecated. Use the body method with namespace and name parameters instead.

This method is called when the body of a matching XML element is encountered. If the element has no body, this method is called with an empty string as the body text.
Parameters:
text - The text of the body of this element

body

public void body(String namespace,
                 String name,
                 String text)
            throws Exception
Parameters:
namespace - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
name - the local name if the parser is namespace aware, or just the element name otherwise
text - The text of the body of this element
Since:
Digester 1.4

end

public void end()
            throws Exception

Deprecated. Use the end method with namespace and name parameters instead.

This method is called when the end of a matching XML element is encountered.

end

public void end(String namespace,
                String name)
            throws Exception
This method is called when the end of a matching XML element is encountered. The default implementation delegates to the deprecated method end without the namespace and name parameters, to retain backwards compatibility.
Parameters:
namespace - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
name - the local name if the parser is namespace aware, or just the element name otherwise
Since:
Digester 1.4

finish

public void finish()
            throws Exception
This method is called after all parsing methods have been called, to allow Rules to remove temporary data.

getDigester

public Digester getDigester()
Return the Digester with which this Rule is associated.

getNamespaceURI

public String getNamespaceURI()
Return the namespace URI for which this Rule is relevant, if any.

setDigester

public void setDigester(Digester digester)
Set the Digester with which this Rule is associated.

setNamespaceURI

public void setNamespaceURI(String namespaceURI)
Set the namespace URI for which this Rule is relevant, if any.
Parameters:
namespaceURI - Namespace URI for which this Rule is relevant, or null to match independent of namespace.

Copyright 2001-2005 The Apache Software Foundation.