|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.digester3.Rule org.apache.commons.digester3.AbstractMethodRule
public abstract class AbstractMethodRule
Abstract implementation for SetNextRule
,
SetRootRule
and SetTopRule
rules.
Field Summary | |
---|---|
protected boolean |
fireOnBegin
Should this rule be invoked when begin(String, String, Attributes) (true)
or end(String, String) (false) methods are invoked, false by default. |
protected String |
methodName
The method name to call on the parent object. |
protected Class<?> |
paramType
The Java class name of the parameter type expected by the method. |
protected String |
paramTypeName
The Java class name of the parameter type expected by the method. |
protected boolean |
useExactMatch
Should we use exact matching. |
Constructor Summary | |
---|---|
AbstractMethodRule(String methodName)
Construct a "set next" rule with the specified method name. |
|
AbstractMethodRule(String methodName,
Class<?> paramType)
Construct a "set next" rule with the specified method name. |
|
AbstractMethodRule(String methodName,
String paramTypeName)
Construct a "set next" rule with the specified method name. |
Method Summary | |
---|---|
void |
begin(String namespace,
String name,
Attributes attributes)
This method is called when the beginning of a matching XML element is encountered. |
void |
end(String namespace,
String name)
This method is called when the end of a matching XML element is encountered. |
protected abstract Object |
getChild()
Returns the argument object of method has to be invoked. |
protected abstract Object |
getParent()
Returns the target object of method has to be invoked. |
boolean |
isExactMatch()
Is exact matching being used. |
boolean |
isFireOnBegin()
Returns the flag this rule be invoked when begin(String, String, Attributes) (true)
or end(String, String) (false) methods are invoked, false by default. |
void |
setExactMatch(boolean useExactMatch)
Set whether exact matching is enabled. |
void |
setFireOnBegin(boolean fireOnBegin)
Sets this rule be invoked when begin(String, String, Attributes) (true)
or end(String, String) (false) methods are invoked, false by default. |
String |
toString()
|
Methods inherited from class org.apache.commons.digester3.Rule |
---|
body, finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected String methodName
protected String paramTypeName
protected Class<?> paramType
protected boolean useExactMatch
protected boolean fireOnBegin
begin(String, String, Attributes)
(true)
or end(String, String)
(false) methods are invoked, false by default.
Constructor Detail |
---|
public AbstractMethodRule(String methodName)
methodName
- Method name of the parent method to callpublic AbstractMethodRule(String methodName, Class<?> paramType)
methodName
- Method name of the parent method to callparamType
- Java class of the parent method's argument (if you wish to use a primitive type, specify the
corresonding Java wrapper class instead, such as java.lang.Boolean
for a
boolean
parameter)public AbstractMethodRule(String methodName, String paramTypeName)
methodName
- Method name of the parent method to callparamTypeName
- Java class of the parent method's argument (if you wish to use a primitive type, specify the
corresonding Java wrapper class instead, such as java.lang.Boolean
for a
boolean
parameter)Method Detail |
---|
public boolean isExactMatch()
Is exact matching being used.
This rule uses org.apache.commons.beanutils.MethodUtils
to introspect the relevent objects so that
the right method can be called. Originally, MethodUtils.invokeExactMethod
was used. This matches
methods very strictly and so may not find a matching method when one exists. This is still the behaviour when
exact matching is enabled.
When exact matching is disabled, MethodUtils.invokeMethod
is used. This method finds more methods
but is less precise when there are several methods with correct signatures. So, if you want to choose an exact
signature you might need to enable this property.
The default setting is to disable exact matches.
public void setFireOnBegin(boolean fireOnBegin)
begin(String, String, Attributes)
(true)
or end(String, String)
(false) methods are invoked, false by default.
fireOnBegin
- flag to mark this rule be invoked when begin(String, String, Attributes)
(true)
or end(String, String)
(false) methods are invoked, false by default.public boolean isFireOnBegin()
begin(String, String, Attributes)
(true)
or end(String, String)
(false) methods are invoked, false by default.
begin(String, String, Attributes)
(true)
or end(String, String)
(false) methods are invoked, false by default.public void setExactMatch(boolean useExactMatch)
Set whether exact matching is enabled.
See isExactMatch()
.
useExactMatch
- should this rule use exact method matchingpublic void begin(String namespace, String name, Attributes attributes) throws Exception
begin
in class Rule
namespace
- 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 otherwiseattributes
- The attribute list of this element
Exception
- if any error occurspublic void end(String namespace, String name) throws Exception
end
in class Rule
namespace
- 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
Exception
- if any error occursprotected abstract Object getChild()
protected abstract Object getParent()
public final String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |