com.saxonica.extra
Class GeneralComparisonSA
java.lang.Object
net.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.BinaryExpression
net.sf.saxon.expr.GeneralComparison
com.saxonica.extra.GeneralComparisonSA
- All Implemented Interfaces:
- Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator
- 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
Methods inherited from class net.sf.saxon.expr.BinaryExpression |
computeSpecialProperties, display, equals, getOperands, getOperator, hashCode, isAssociative, isCommutative, isInverse, iterateSubExpressions, promote, simplify |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
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 operandop
- the operator, as a token returned by the Tokenizer (e.g. Token.LT)p1
- the right-hand operand
effectiveBooleanValue
public boolean effectiveBooleanValue(XPathContext context)
throws XPathException
- Evaluate the expression in a boolean context
- Specified by:
effectiveBooleanValue
in interface Expression
- 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
hashJoin
public static boolean hashJoin(SequenceIterator iter1,
SequenceIterator iter2,
XPathContext context,
AtomicComparer comparer)
throws XPathException
- Implement the XPath "=" operator for comparing two arbitrary sequences. The comparison is true
if any item in the first sequence is equal to any item from the second. This implementation uses
a hash join algorithm, modified to cater for the fact that untypedAtomic values act as "wild cards".
This algorithm does not handle the special rules for backwards compatibility mode, and is not
invoked if BCM is in force.
- Parameters:
iter1
- The first sequenceiter2
- The second sequencecontext
- The dynamic contextcomparer
- The comparer (which embodies the collation to be used)
- Returns:
- true if there is a pair of values that are equal, false if not
- Throws:
XPathException
- if there is a pair of non-comparable values, or if an untyped atomic value
cannot be cast to the type of the other operand.
getInverseComparison
protected GeneralComparison getInverseComparison()
- Overrides:
getInverseComparison
in class GeneralComparison