com.saxonica.expr.ee
Class GeneralComparisonEE

java.lang.Object
  extended by net.sf.saxon.expr.Expression
      extended by net.sf.saxon.expr.BinaryExpression
          extended by net.sf.saxon.expr.GeneralComparison
              extended by com.saxonica.expr.ee.GeneralComparisonEE
All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, SaxonLocator, CallableExpression, 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, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
 
Constructor Summary
GeneralComparisonEE(Expression p0, int op, Expression p1)
          Create a relational expression identifying the two operands and the operator
 
Method Summary
 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, getExpressionName, getItemType, getSingletonOperator, 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, 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, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setLocationId, staticTypeCheck, suppressValidation, 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
 
Methods inherited from interface net.sf.saxon.expr.CallableExpression
getArguments
 

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-2011 Saxonica Limited. All rights reserved.