com.saxonica.expr.ee

## Class GeneralComparisonEE

- java.lang.Object
- - net.sf.saxon.expr.Expression
  - - net.sf.saxon.expr.BinaryExpression
    - - net.sf.saxon.expr.GeneralComparison
      - - com.saxonica.expr.ee.GeneralComparisonEE

- All Implemented Interfaces:
    Serializable, SourceLocator, LocationProvider, SaxonLocator, Callable, ComparisonExpression, InstructionInfo, Locator

      public class GeneralComparisonEE
      extends GeneralComparison

  This class provides an implementation of the GeneralComparison "=" operator, which deals efficiently with comparing two sequences.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.expr.GeneralComparison

      `comparer, comparisonCardinality, MANY_TO_MANY, MANY_TO_ONE, needsRuntimeCheck, ONE_TO_ONE, singletonOperator`

    - ### Fields inherited from class net.sf.saxon.expr.BinaryExpression

      `operand0, operand1, operator`

    - ### Fields inherited from class net.sf.saxon.expr.Expression

      `EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, INHERITED_CONTEXT, INSPECTION_CONTEXT, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, NAVIGATION_CONTEXT, NODE_VALUE_CONTEXT, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, W3C_CONSUMING, W3C_FREE_RANGING, W3C_GROUP_CONSUMING, W3C_MOTIONLESS, WATCH_METHOD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GeneralComparisonEE(Expression p0, int op, Expression p1)` Create a relational expression identifying the two operands and the operator

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Expression` | `copy()` Copy an expression.
    `boolean` | `effectiveBooleanValue(XPathContext context)` Evaluate the expression in a boolean context
    `protected void` | `explainExtraAttributes(ExpressionPresenter out)` Add subclass-specific attributes to the expression tree explanation.
    `protected GeneralComparison` | `getInverseComparison()`
    `Expression` | `optimize(ExpressionVisitor visitor, ExpressionVisitor.ContextItemType contextItemType)` Optimize the expression

    - ### Methods inherited from class net.sf.saxon.expr.GeneralComparison

      `call, compare, computeCardinality, convertsUntypedToOther, evaluateItem, evaluateManyToMany, getAtomicComparer, getComparisonCardinality, getCorrespondingSingletonOperator, getExpressionCompiler, getExpressionName, getItemType, getSingletonOperator, getStreamingAdjunct, needsRuntimeCheck, setAtomicComparer, setComparisonCardinality, setNeedsRuntimeCheck, simplify, typeCheck`

    - ### Methods inherited from class net.sf.saxon.expr.BinaryExpression

      `computeSpecialProperties, displayOperator, equals, explain, getArguments, getOperands, getOperator, hashCode, isAssociative, isCommutative, isInverse, iterateSubExpressionInfo, iterateSubExpressions, promote, replaceSubExpression, setFlattened, toString`

    - ### Methods inherited from class net.sf.saxon.expr.Expression

      `addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getImplementationMethod, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getStreamability, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setLocationId, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, typeError`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.expr.ComparisonExpression

      `getOperands`

- - ### Constructor Detail

    - #### GeneralComparisonEE

          public GeneralComparisonEE(Expression p0,
                             int op,
                             Expression p1)

      Create a relational expression identifying the two operands and the operator
      Parameters:
        `p0` - the left-hand operand
        `op` - the operator, as a token returned by the Tokenizer (e.g. Token.LT)
        `p1` - the right-hand operand

  - ### Method Detail

    - #### optimize

          public Expression optimize(ExpressionVisitor visitor,
                            ExpressionVisitor.ContextItemType contextItemType)
                              throws XPathException

      Description copied from class: `GeneralComparison`
      Optimize the expression
      Overrides:
        `optimize` in class `GeneralComparison`
      Parameters:
        `visitor` - an expression visitor
        `contextItemType` - the static type of "." at the point where this expression is invoked. The parameter is set to null if it is known statically that the context item will be undefined. If the type of the context item is not known statically, the argument is set to `Type.ITEM_TYPE`
      Returns:
        the checked expression
      Throws:
        `XPathException` - if an error is discovered during this phase (typically a type error)

    - #### copy

          public Expression copy()

      Description copied from class: `GeneralComparison`
      Copy an expression. This makes a deep copy.
      Overrides:
        `copy` in class `GeneralComparison`
      Returns:
        the copy of the original expression

    - #### effectiveBooleanValue

          public boolean effectiveBooleanValue(XPathContext context)
                                        throws XPathException

      Evaluate the expression in a boolean context
      Overrides:
        `effectiveBooleanValue` in class `GeneralComparison`
      Parameters:
        `context` - the given context for evaluation
      Returns:
        a boolean representing the result of the numeric comparison of the two operands
      Throws:
        `XPathException` - if any dynamic error occurs evaluating the expression

    - #### getInverseComparison

          protected GeneralComparison getInverseComparison()

      Overrides:
        `getInverseComparison` in class `GeneralComparison`

    - #### explainExtraAttributes

          protected void explainExtraAttributes(ExpressionPresenter out)

      Description copied from class: `BinaryExpression`
      Add subclass-specific attributes to the expression tree explanation. Default implementation does nothing; this is provided for subclasses to override.
      Overrides:
        `explainExtraAttributes` in class `GeneralComparison`
      Parameters:
        `out` - the output destination for the displayed expression tree

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.