public class CallParamRule extends Rule
Rule implementation that saves a parameter for use by a surrounding CallMethodRule
.
This parameter may be:
CallParamRule(int paramIndex, String attributeName)
CallParamRule(int paramIndex)
CallParamRule(int paramIndex, boolean fromStack)
Rule
). See PathCallParamRule
Modifier and Type | Field and Description |
---|---|
protected String |
attributeName
The attribute from which to save the parameter value
|
protected Stack<String> |
bodyTextStack
Stack is used to allow nested body text to be processed.
|
protected boolean |
fromStack
Is the parameter to be set from the stack?
|
protected int |
paramIndex
The zero-relative index of the parameter we are saving.
|
protected int |
stackIndex
The position of the object from the top of the stack
|
Constructor and Description |
---|
CallParamRule(int paramIndex)
Construct a "call parameter" rule that will save the body text of this element as the parameter value.
|
CallParamRule(int paramIndex,
boolean fromStack)
Construct a "call parameter" rule.
|
CallParamRule(int paramIndex,
int stackIndex)
Constructs a "call parameter" rule which sets a parameter from the stack.
|
CallParamRule(int paramIndex,
String attributeName)
Construct a "call parameter" rule that will save the value of the specified attribute as the parameter value.
|
Modifier and Type | Method and Description |
---|---|
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 namespace,
String name,
String text)
This method is called when the body 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.
|
void |
setAttributeName(String attributeName)
Set the attribute from which to save the parameter value.
|
String |
toString() |
finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI
protected String attributeName
protected int paramIndex
protected boolean fromStack
protected int stackIndex
protected Stack<String> bodyTextStack
public CallParamRule(int paramIndex)
Note that if the element is empty the an empty string is passed to the target method, not null. And if automatic type conversion is being applied (ie if the target function takes something other than a string as a parameter) then the conversion will fail if the converter class does not accept an empty string as valid input.
paramIndex
- The zero-relative parameter numberpublic CallParamRule(int paramIndex, String attributeName)
paramIndex
- The zero-relative parameter numberattributeName
- The name of the attribute to savepublic CallParamRule(int paramIndex, boolean fromStack)
paramIndex
- The zero-relative parameter numberfromStack
- should this parameter be taken from the top of the stack?public CallParamRule(int paramIndex, int stackIndex)
paramIndex
- The zero-relative parameter numberstackIndex
- the index of the object which will be passed as a parameter. The zeroth object is the top of
the stack, 1 is the next object down and so on.public void setAttributeName(String attributeName)
attributeName
- The attribute from which to save the parameter valuepublic 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 elementException
- if any error occurspublic void body(String namespace, String name, String text) throws Exception
body
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 otherwisetext
- The text of the body of this elementException
- if any error occurspublic void end(String namespace, String name)
Copyright © 2001-2013 The Apache Software Foundation. All Rights Reserved.