net.sf.saxon.expr
Class MinimaxComparison
java.lang.Object
net.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.BinaryExpression
net.sf.saxon.expr.MinimaxComparison
- All Implemented Interfaces:
- Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator
- public class MinimaxComparison
- extends BinaryExpression
Class to handle many-to-many A less-than B comparisons by evaluating min(A) < max(B), and
similarly for greater-than, etc. This expression is used only where it is known that the
comparisons will all be numeric: that is, where at least one of the operands has a static
type that is a numeric sequence.
- See Also:
- Serialized Form
Methods inherited from class net.sf.saxon.expr.BinaryExpression |
computeSpecialProperties, display, displayOperator, equals, getOperands, getOperator, hashCode, isCommutative, isInverse, iterateSubExpressions, promote, simplify, typeCheck |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, typeError, typeError |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
MinimaxComparison
public MinimaxComparison(Expression p0,
int operator,
Expression p1)
computeCardinality
public int computeCardinality()
- Determine the static cardinality. Returns [1..1]
- Overrides:
computeCardinality
in class BinaryExpression
optimize
public Expression optimize(Optimizer opt,
StaticContext env,
ItemType contextItemType)
throws XPathException
- Type-check the expression.
- Specified by:
optimize
in interface Expression
- Overrides:
optimize
in class BinaryExpression
- Parameters:
opt
- the optimizer in use. This provides access to supporting functions; it also allows
different optimization strategies to be used in different circumstances.env
- the static context of the expressioncontextItemType
- 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 original expression, rewritten if appropriate to optimize execution
- Throws:
XPathException
getItemType
public ItemType getItemType()
- Determine the data type of the expression
- Returns:
- Type.BOOLEAN
evaluateItem
public Item evaluateItem(XPathContext context)
throws XPathException
- Evaluate the expression in a given context
- Specified by:
evaluateItem
in interface Expression
- Overrides:
evaluateItem
in class ComputedExpression
- Parameters:
context
- the given context for evaluation
- Returns:
- a BooleanValue representing the result of the numeric comparison of the two operands
- Throws:
XPathException
- if any dynamic error occurs evaluating the
expression
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 ComputedExpression
- 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