com.saxonica.extra
Class GeneralComparisonSA

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.extra.GeneralComparisonSA
All Implemented Interfaces:
Serializable, SourceLocator, ComparisonExpression, EvaluableItem, SequenceIterable, InstructionInfoProvider

public class GeneralComparisonSA
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.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Constructor Summary
GeneralComparisonSA(Expression p0, int op, Expression p1)
          Create a relational expression identifying the two operands and the operator
 
Method Summary
 boolean effectiveBooleanValue(XPathContext context)
          Evaluate the expression in a boolean context
 Expression optimize(ExpressionVisitor visitor, ItemType contextItemType)
          Optimize the expression
 
Methods inherited from class net.sf.saxon.expr.GeneralComparison
computeCardinality, convertsUntypedToOther, copy, evaluateItem, getAtomicComparer, getItemType, getSingletonOperator, typeCheck
 
Methods inherited from class net.sf.saxon.expr.BinaryExpression
computeSpecialProperties, equals, explain, getOperands, getOperator, hashCode, iterateSubExpressions, promote, replaceSubExpression, setFlattened, simplify, toString
 
Methods inherited from class net.sf.saxon.expr.Expression
addToPathMap, adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, evaluateAsString, explain, findParentOf, getCardinality, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, markTailFunctionCalls, process, setContainer, setFiltered, setLocationId, staticTypeCheck, suppressValidation
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.expr.ComparisonExpression
getOperands
 

Constructor Detail

GeneralComparisonSA

public GeneralComparisonSA(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,
                           ItemType 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)

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


Copyright (C) Michael H. Kay. All rights reserved.