| java.lang.Object org.apache.xpath.Expression
All known Subclasses: org.apache.xpath.operations.Variable, org.apache.xpath.operations.Operation, org.apache.xpath.functions.Function, org.apache.xpath.patterns.NodeTest, org.apache.xpath.operations.UnaryOperation, org.apache.xpath.patterns.UnionPattern, org.apache.xpath.objects.XObject,
Expression | abstract public class Expression implements java.io.Serializable,ExpressionNode,XPathVisitable(Code) | | This abstract class serves as the base for all expression objects. An
Expression can be executed to return a
org.apache.xpath.objects.XObject ,
normally has a location within a document or DOM, can send error and warning
events, and normally do not hold state and are meant to be immutable once
construction has completed. An exception to the immutibility rule is iterators
and walkers, which must be cloned in order to be used -- the original must
still be immutable.
|
Method Summary | |
public DTMIterator | asIterator(XPathContext xctxt, int contextNode) Given an select expression and a context, evaluate the XPath
and return the resulting iterator.
Parameters: xctxt - The execution context. Parameters: contextNode - The node that "." expresses. | public DTMIterator | asIteratorRaw(XPathContext xctxt, int contextNode) Given an select expression and a context, evaluate the XPath
and return the resulting iterator, but do not clone.
Parameters: xctxt - The execution context. Parameters: contextNode - The node that "." expresses. | public int | asNode(XPathContext xctxt) Return the first node out of the nodeset, if this expression is
a nodeset expression.
Parameters: xctxt - The XPath runtime context. | public void | assertion(boolean b, java.lang.String msg) Tell the user of an assertion error, and probably throw an
exception. | public boolean | bool(XPathContext xctxt) Evaluate expression to a boolean.
Parameters: xctxt - The XPath runtime context. | public boolean | canTraverseOutsideSubtree() Tell if this expression or it's subexpressions can traverse outside
the current subtree. | abstract public boolean | deepEquals(Expression expr) Compare this object with another object and see
if they are equal, include the sub heararchy.
Parameters: expr - Another expression object. | public void | error(XPathContext xctxt, String msg, Object[] args) Tell the user of an error, and probably throw an
exception. | public XObject | execute(XPathContext xctxt, int currentNode) Execute an expression in the XPath runtime context, and return the
result of the expression.
Parameters: xctxt - The XPath runtime context. Parameters: currentNode - The currentNode. | public XObject | execute(XPathContext xctxt, int currentNode, DTM dtm, int expType) Execute an expression in the XPath runtime context, and return the
result of the expression.
Parameters: xctxt - The XPath runtime context. Parameters: currentNode - The currentNode. Parameters: dtm - The DTM of the current node. Parameters: expType - The expanded type ID of the current node. | abstract public XObject | execute(XPathContext xctxt) Execute an expression in the XPath runtime context, and return the
result of the expression.
Parameters: xctxt - The XPath runtime context. | public XObject | execute(XPathContext xctxt, boolean destructiveOK) Execute an expression in the XPath runtime context, and return the
result of the expression, but tell that a "safe" object doesn't have
to be returned. | public void | executeCharsToContentHandler(XPathContext xctxt, ContentHandler handler) Execute an expression in the XPath runtime context, and return the
result of the expression. | public void | exprAddChild(ExpressionNode n, int i) This method tells the node to add its argument to the node's
list of children. | public ExpressionNode | exprGetChild(int i) This method returns a child node. | public int | exprGetNumChildren() Return the number of children the node has. | public ExpressionNode | exprGetParent() | public void | exprSetParent(ExpressionNode n) This pair of methods are used to inform the node of its
parent. | abstract public void | fixupVariables(java.util.Vector vars, int globalsSize) This function is used to fixup variables from QNames to stack frame
indexes at stylesheet build time.
Parameters: vars - List of QNames that correspond to variables. | public int | getColumnNumber() Return the character position where the current document event ends. | public ExpressionNode | getExpressionOwner() Get the first non-Expression parent of this node. | public int | getLineNumber() Return the line number where the current document event ends. | public String | getPublicId() Return the public identifier for the current document event. | public String | getSystemId() Return the system identifier for the current document event. | public boolean | isNodesetExpr() Tell if the expression is a nodeset expression. | final protected boolean | isSameClass(Expression expr) This is a utility method to tell if the passed in
class is the same class as this. | public boolean | isStableNumber() Tell if this expression returns a stable number that will not change during
iterations within the expression. | public double | num(XPathContext xctxt) Evaluate expression to a number.
Parameters: xctxt - The XPath runtime context. | public void | warn(XPathContext xctxt, String msg, Object[] args) Warn the user of an problem. | public XMLString | xstr(XPathContext xctxt) Cast result object to a string.
Parameters: xctxt - The XPath runtime context. |
serialVersionUID | final static long serialVersionUID(Code) | | |
canTraverseOutsideSubtree | public boolean canTraverseOutsideSubtree()(Code) | | Tell if this expression or it's subexpressions can traverse outside
the current subtree.
true if traversal outside the context node's subtree can occur. |
deepEquals | abstract public boolean deepEquals(Expression expr)(Code) | | Compare this object with another object and see
if they are equal, include the sub heararchy.
Parameters: expr - Another expression object. true if this objects class and the exprobject's class are the same, and the data contained within both objects are considered equal. |
execute | public XObject execute(XPathContext xctxt, int currentNode, DTM dtm, int expType) throws javax.xml.transform.TransformerException(Code) | | Execute an expression in the XPath runtime context, and return the
result of the expression.
Parameters: xctxt - The XPath runtime context. Parameters: currentNode - The currentNode. Parameters: dtm - The DTM of the current node. Parameters: expType - The expanded type ID of the current node. The result of the expression in the form of a XObject . throws: javax.xml.transform.TransformerException - if a runtime exceptionoccurs. |
execute | public XObject execute(XPathContext xctxt, boolean destructiveOK) throws javax.xml.transform.TransformerException(Code) | | Execute an expression in the XPath runtime context, and return the
result of the expression, but tell that a "safe" object doesn't have
to be returned. The default implementation just calls execute(xctxt).
Parameters: xctxt - The XPath runtime context. Parameters: destructiveOK - true if a "safe" object doesn't need to be returned. The result of the expression in the form of a XObject . throws: javax.xml.transform.TransformerException - if a runtime exceptionoccurs. |
exprAddChild | public void exprAddChild(ExpressionNode n, int i)(Code) | | This method tells the node to add its argument to the node's
list of children.
|
exprGetChild | public ExpressionNode exprGetChild(int i)(Code) | | This method returns a child node. The children are numbered
from zero, left to right.
|
exprGetNumChildren | public int exprGetNumChildren()(Code) | | Return the number of children the node has.
|
exprSetParent | public void exprSetParent(ExpressionNode n)(Code) | | This pair of methods are used to inform the node of its
parent.
|
fixupVariables | abstract public void fixupVariables(java.util.Vector vars, int globalsSize)(Code) | | This function is used to fixup variables from QNames to stack frame
indexes at stylesheet build time.
Parameters: vars - List of QNames that correspond to variables. This listshould be searched backwards for the first qualified name thatcorresponds to the variable reference qname. The position of theQName in the vector from the start of the vector will be its positionin the stack frame (but variables above the globalsTop value will needto be offset to the current stack frame).NEEDSDOC @param globalsSize |
getColumnNumber | public int getColumnNumber()(Code) | | Return the character position where the current document event ends.
Warning: The return value from the method
is intended only as an approximation for the sake of error
reporting; it is not intended to provide sufficient information
to edit the character content of the original XML document.
The return value is an approximation of the column number
in the document entity or external parsed entity where the
markup that triggered the event appears.
The column number, or -1 if none is available. See Also: Expression.getLineNumber |
getExpressionOwner | public ExpressionNode getExpressionOwner()(Code) | | Get the first non-Expression parent of this node.
null or first ancestor that is not an Expression. |
getLineNumber | public int getLineNumber()(Code) | | Return the line number where the current document event ends.
Warning: The return value from the method
is intended only as an approximation for the sake of error
reporting; it is not intended to provide sufficient information
to edit the character content of the original XML document.
The return value is an approximation of the line number
in the document entity or external parsed entity where the
markup that triggered the event appears.
The line number, or -1 if none is available. See Also: Expression.getColumnNumber |
getPublicId | public String getPublicId()(Code) | | Return the public identifier for the current document event.
The return value is the public identifier of the document
entity or of the external parsed entity in which the markup that
triggered the event appears.
A string containing the public identifier, ornull if none is available. See Also: Expression.getSystemId |
getSystemId | public String getSystemId()(Code) | | Return the system identifier for the current document event.
The return value is the system identifier of the document
entity or of the external parsed entity in which the markup that
triggered the event appears.
If the system identifier is a URL, the parser must resolve it
fully before passing it to the application.
A string containing the system identifier, or nullif none is available. See Also: Expression.getPublicId |
isNodesetExpr | public boolean isNodesetExpr()(Code) | | Tell if the expression is a nodeset expression. In other words, tell
if you can execute
Expression.asNode(XPathContext) asNode without an exception.
true if the expression can be represented as a nodeset. |
isSameClass | final protected boolean isSameClass(Expression expr)(Code) | | This is a utility method to tell if the passed in
class is the same class as this. It is to be used by
the deepEquals method. I'm bottlenecking it here
because I'm not totally confident that comparing the
class objects is the best way to do this.
true of the passed in class is the exact same class as this class. |
isStableNumber | public boolean isStableNumber()(Code) | | Tell if this expression returns a stable number that will not change during
iterations within the expression. This is used to determine if a proximity
position predicate can indicate that no more searching has to occur.
true if the expression represents a stable number. |
|
|