Class CoreOperationCompare

  • Direct Known Subclasses:
    CoreOperationEqual, CoreOperationNotEqual

    public abstract class CoreOperationCompare
    extends CoreOperation
    Common superclass for the implementations of Expression for the operations "=" and "!=".
    Version:
    $Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
    Author:
    Dmitri Plotnikov
    • Field Detail

      • invert

        private boolean invert
    • Constructor Detail

      • CoreOperationCompare

        public CoreOperationCompare​(Expression arg1,
                                    Expression arg2)
        Create a new CoreOperationCompare.
        Parameters:
        arg1 - left operand
        arg2 - right operand
      • CoreOperationCompare

        protected CoreOperationCompare​(Expression arg1,
                                       Expression arg2,
                                       boolean invert)
        Create a new CoreOperationCompare.
        Parameters:
        arg1 - left operand
        arg2 - right operand
        invert - whether to invert (not) the comparison
    • Method Detail

      • computeValue

        public java.lang.Object computeValue​(EvalContext context)
        Description copied from class: Expression
        Evaluates the expression. If the result is a node set, returns the first element of the node set.
        Specified by:
        computeValue in class CoreOperation
        Parameters:
        context - evaluation context
        Returns:
        Object
      • getPrecedence

        protected int getPrecedence()
        Description copied from class: CoreOperation
        Computes the precedence of the operation.
        Specified by:
        getPrecedence in class CoreOperation
        Returns:
        int precedence
      • isSymmetric

        protected boolean isSymmetric()
        Description copied from class: CoreOperation
        Returns true if the operation is not sensitive to the order of arguments, e.g. "=", "and" etc, and false if it is, e.g. "<=", "div".
        Specified by:
        isSymmetric in class CoreOperation
        Returns:
        boolean
      • equal

        protected boolean equal​(EvalContext context,
                                Expression left,
                                Expression right)
        Compares two values.
        Parameters:
        context - evaluation context
        left - operand
        right - operand
        Returns:
        whether left = right in XPath terms
      • contains

        protected boolean contains​(java.util.Iterator it,
                                   java.lang.Object value)
        Learn whether it contains value.
        Parameters:
        it - Iterator to check
        value - for which to look
        Returns:
        whether value was found
      • findMatch

        protected boolean findMatch​(java.util.Iterator lit,
                                    java.util.Iterator rit)
        Learn whether lit intersects rit.
        Parameters:
        lit - left Iterator
        rit - right Iterator
        Returns:
        boolean
      • equal

        protected boolean equal​(java.lang.Object l,
                                java.lang.Object r)
        Learn whether l equals r in XPath terms.
        Parameters:
        l - left operand
        r - right operand
        Returns:
        whether l = r