Class Operation

    • Constructor Detail

      • Operation

        public Operation()
    • Method Detail

      • fixupVariables

        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.
        Specified by:
        fixupVariables in class Expression
        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).
      • canTraverseOutsideSubtree

        public boolean canTraverseOutsideSubtree()
        Tell if this expression or it's subexpressions can traverse outside the current subtree.
        Overrides:
        canTraverseOutsideSubtree in class Expression
        Returns:
        true if traversal outside the context node's subtree can occur.
      • setLeftRight

        public void setLeftRight​(Expression l,
                                 Expression r)
        Set the left and right operand expressions for this operation.
        Parameters:
        l - The left expression operand.
        r - The right expression operand.
      • execute

        public XObject execute​(XPathContext xctxt)
                        throws javax.xml.transform.TransformerException
        Execute a binary operation by calling execute on each of the operands, and then calling the operate method on the derived class.
        Specified by:
        execute in class Expression
        Parameters:
        xctxt - The runtime execution context.
        Returns:
        The XObject result of the operation.
        Throws:
        javax.xml.transform.TransformerException
      • operate

        public XObject operate​(XObject left,
                               XObject right)
                        throws javax.xml.transform.TransformerException
        Apply the operation to two operands, and return the result.
        Parameters:
        left - non-null reference to the evaluated left operand.
        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
      • getLeftOperand

        public Expression getLeftOperand()
        Returns:
        the left operand of binary operation, as an Expression.
      • getRightOperand

        public Expression getRightOperand()
        Returns:
        the right operand of binary operation, as an Expression.
      • deepEquals

        public boolean deepEquals​(Expression expr)
        Description copied from class: Expression
        Compare this object with another object and see if they are equal, include the sub heararchy.
        Specified by:
        deepEquals in class Expression
        Parameters:
        expr - Another expression object.
        Returns:
        true if this objects class and the expr object's class are the same, and the data contained within both objects are considered equal.
        See Also:
        Expression.deepEquals(Expression)