org.apache.xpath.operations

Class UnaryOperation

public abstract class UnaryOperation extends Expression implements ExpressionOwner

The unary operation base class.
Method Summary
voidcallVisitors(ExpressionOwner owner, XPathVisitor visitor)
booleancanTraverseOutsideSubtree()
Tell if this expression or it's subexpressions can traverse outside the current subtree.
booleandeepEquals(Expression expr)
XObjectexecute(XPathContext xctxt)
Execute the operand and apply the unary operation to the result.
voidfixupVariables(Vector vars, int globalsSize)
This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
ExpressiongetExpression()
ExpressiongetOperand()
abstract XObjectoperate(XObject right)
Apply the operation to two operands, and return the result.
voidsetExpression(Expression exp)
voidsetRight(Expression r)
Set the expression operand for the operation.

Method Detail

callVisitors

public void callVisitors(ExpressionOwner owner, XPathVisitor visitor)

See Also: XPathVisitable

canTraverseOutsideSubtree

public boolean canTraverseOutsideSubtree()
Tell if this expression or it's subexpressions can traverse outside the current subtree.

Returns: true if traversal outside the context node's subtree can occur.

deepEquals

public boolean deepEquals(Expression expr)

See Also: deepEquals

execute

public XObject execute(XPathContext xctxt)
Execute the operand and apply the unary operation to the result.

Parameters: xctxt The runtime execution context.

Returns: An XObject that represents the result of applying the unary operation to the evaluated operand.

Throws: javax.xml.transform.TransformerException

fixupVariables

public void fixupVariables(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. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).

getExpression

public Expression getExpression()

See Also: getExpression

getOperand

public Expression getOperand()

Returns: the operand of unary operation, as an Expression.

operate

public abstract XObject operate(XObject right)
Apply the operation to two operands, and return the result.

Parameters: right non-null reference to the evaluated right operand.

Returns: non-null reference to the XObject that represents the result of the operation.

Throws: javax.xml.transform.TransformerException

setExpression

public void setExpression(Expression exp)

See Also: setExpression

setRight

public void setRight(Expression r)
Set the expression operand for the operation.

Parameters: r The expression operand to which the unary operation will be applied.

Copyright B) 2005 Apache XML Project. All Rights Reserved.