Package org.apache.tomcat.util.digester
Class CallParamRule
- java.lang.Object
-
- org.apache.tomcat.util.digester.Rule
-
- org.apache.tomcat.util.digester.CallParamRule
-
public class CallParamRule extends Rule
Rule implementation that saves a parameter for use by a surrounding
CallMethodRule
.This parameter may be:
- from an attribute of the current element
See
CallParamRule(int paramIndex, String attributeName)
- from current the element body
See
CallParamRule(int paramIndex)
- from an attribute of the current element
See
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
attributeName
The attribute from which to save the parameter valueprotected ArrayStack<java.lang.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-
Fields inherited from class org.apache.tomcat.util.digester.Rule
digester, namespaceURI, sm
-
-
Constructor Summary
Constructors Constructor 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, java.lang.String attributeName)
Construct a "call parameter" rule that will save the value of the specified attribute as the parameter value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
begin(java.lang.String namespace, java.lang.String name, org.xml.sax.Attributes attributes)
Process the start of this element.void
body(java.lang.String namespace, java.lang.String name, java.lang.String bodyText)
Process the body text of this element.void
end(java.lang.String namespace, java.lang.String name)
Process any body texts now.java.lang.String
toString()
Render a printable version of this Rule.-
Methods inherited from class org.apache.tomcat.util.digester.Rule
finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI
-
-
-
-
Field Detail
-
attributeName
protected final java.lang.String attributeName
The attribute from which to save the parameter value
-
paramIndex
protected final int paramIndex
The zero-relative index of the parameter we are saving.
-
fromStack
protected final boolean fromStack
Is the parameter to be set from the stack?
-
stackIndex
protected final int stackIndex
The position of the object from the top of the stack
-
bodyTextStack
protected ArrayStack<java.lang.String> bodyTextStack
Stack is used to allow nested body text to be processed. Lazy creation.
-
-
Constructor Detail
-
CallParamRule
public CallParamRule(int paramIndex)
Construct a "call parameter" rule that will save the body text of this element as the parameter value.- Parameters:
paramIndex
- The zero-relative parameter number
-
CallParamRule
public CallParamRule(int paramIndex, java.lang.String attributeName)
Construct a "call parameter" rule that will save the value of the specified attribute as the parameter value.- Parameters:
paramIndex
- The zero-relative parameter numberattributeName
- The name of the attribute to save
-
-
Method Detail
-
begin
public void begin(java.lang.String namespace, java.lang.String name, org.xml.sax.Attributes attributes) throws java.lang.Exception
Process the start of this element.- Overrides:
begin
in classRule
- 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 namespacename
- the local name if the parser is namespace aware, or just the element name otherwiseattributes
- The attribute list for this element- Throws:
java.lang.Exception
- if an error occurs while processing the event
-
body
public void body(java.lang.String namespace, java.lang.String name, java.lang.String bodyText) throws java.lang.Exception
Process the body text of this element.- Overrides:
body
in classRule
- 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 namespacename
- the local name if the parser is namespace aware, or just the element name otherwisebodyText
- The body text of this element- Throws:
java.lang.Exception
- if an error occurs while processing the event
-
end
public void end(java.lang.String namespace, java.lang.String name)
Process any body texts now.
-
toString
public java.lang.String toString()
Render a printable version of this Rule.- Overrides:
toString
in classjava.lang.Object
-
-