java.io.Serializable
, javax.xml.transform.SourceLocator
, LocationProvider
, SaxonLocator
, EvaluableItem
, SequenceIterable
, InstructionInfo
, org.xml.sax.Locator
public final class NumericPromoter extends UnaryExpression
EVALUATE_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, staticProperties
operand
Constructor | Description |
---|---|
NumericPromoter(Expression sequence,
BuiltInAtomicType requiredType) |
Constructor
|
Modifier and Type | Method | Description |
---|---|---|
Expression |
copy() |
Copy an expression.
|
boolean |
equals(java.lang.Object other) |
Is this expression the same as another expression?
|
Item |
evaluateItem(XPathContext context) |
Evaluate as an Item.
|
void |
explain(ExpressionPresenter out) |
Diagnostic print of expression structure.
|
ItemType |
getItemType(TypeHierarchy th) |
Determine the data type of the items returned by the expression, if possible
|
int |
getRequiredType() |
Get the required type.
|
SequenceIterator |
iterate(XPathContext context) |
Iterate over the sequence of values
|
Expression |
optimize(ExpressionVisitor visitor,
ItemType contextItemType) |
Optimize the expression
|
Expression |
simplify(ExpressionVisitor visitor) |
Simplify an expression
|
Expression |
typeCheck(ExpressionVisitor visitor,
ItemType contextItemType) |
Type-check the expression
|
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, findParentOf, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isUpdatingExpression, iterateEvents, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
computeCardinality, computeSpecialProperties, displayExpressionName, displayOperator, getBaseExpression, hashCode, iterateSubExpressions, promote, replaceSubExpression, toString
public NumericPromoter(Expression sequence, BuiltInAtomicType requiredType)
sequence
- this must be a sequence of atomic values. This is not checked; a ClassCastException
will occur if the precondition is not satisfied.requiredType
- the item type to which all items in the sequence should be converted,
using the rules for "cast as".public Expression simplify(ExpressionVisitor visitor) throws XPathException
simplify
in class UnaryExpression
visitor
- an expression visitorXPathException
- if an error is discovered during expression
rewritingpublic Expression typeCheck(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException
typeCheck
in class UnaryExpression
visitor
- an expression visitorcontextItemType
- 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
XPathException
- if an error is discovered during this phase
(typically a type error)public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException
optimize
in class UnaryExpression
visitor
- an expression visitorcontextItemType
- 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
XPathException
- if an error is discovered during this phase
(typically a type error)public SequenceIterator iterate(XPathContext context) throws XPathException
iterate
in interface SequenceIterable
iterate
in class Expression
context
- supplies the context for evaluationXPathException
- if any dynamic error occurs evaluating the
expressionpublic Expression copy()
copy
in class Expression
public Item evaluateItem(XPathContext context) throws XPathException
evaluateItem
in interface EvaluableItem
evaluateItem
in class Expression
context
- The context in which the expression is to be evaluatedXPathException
- if any dynamic error occurs evaluating the
expressionpublic int getRequiredType()
public ItemType getItemType(TypeHierarchy th)
getItemType
in class UnaryExpression
th
- the type hierarchy cachepublic boolean equals(java.lang.Object other)
equals
in class UnaryExpression
public void explain(ExpressionPresenter out)
explain
in class UnaryExpression
out
- the expression presenter used to display the structure