public abstract class PseudoExpression extends Expression
A constraint for pseudo-expressions is that rewrite methods (simplify, typecheck, promote etc) always return an object of the same class (nearly always the same object)
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, MAX_COST, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, UPDATE_METHOD, WATCH_METHOD| Constructor and Description | 
|---|
PseudoExpression()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected int | 
computeCardinality()
Compute the static cardinality of this expression 
 | 
boolean | 
effectiveBooleanValue(XPathContext context)
Get the effective boolean value of the expression. 
 | 
java.lang.CharSequence | 
evaluateAsString(XPathContext context)
Evaluate an expression as a String. 
 | 
Item | 
evaluateItem(XPathContext context)
Evaluate an expression as a single item. 
 | 
int | 
getImplementationMethod()
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process(). 
 | 
ItemType | 
getItemType()
Determine the static item type of the expression, as precisely possible. 
 | 
SequenceIterator<?> | 
iterate(XPathContext context)
Return an Iterator to iterate over the values of a sequence. 
 | 
void | 
process(XPathContext context)
Process the instruction, without returning any tail calls 
 | 
addToPathMap, adoptChildExpression, allowExtractingCommonSubexpressions, checkedOperands, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeHashCode, computeSpecialProperties, computeStaticProperties, copy, dynamicError, equals, evaluatePendingUpdates, explain, export, getCardinality, getConfiguration, getConstructType, getCost, getDependencies, getEvaluationMethod, getExpressionName, getExtraProperty, getIntegerBounds, getInterpretedExpression, getIntrinsicDependencies, getLocalRetainedStaticContext, getLocation, getNetCost, getObjectName, getPackageData, getParentExpression, getProperties, getProperty, getRetainedStaticContext, getScopingExpression, getSlotsUsed, getSpecialProperties, getStaticBaseURI, getStaticBaseURIString, getStaticType, getStaticUType, getStreamerName, hasCompatibleStaticContext, hashCode, hasSpecialProperty, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isCallOn, isEqual, isIdentical, isInstruction, isLiftable, isMultiThreaded, isStaticPropertiesKnown, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, markTailFunctionCalls, operandList, operands, operandSparseList, optimize, optimizeChildren, prepareForStreaming, resetLocalStaticProperties, restoreParentPointers, setEvaluationMethod, setExtraProperty, setFiltered, setFlattened, setLocation, setParentExpression, setRetainedStaticContext, setRetainedStaticContextLocally, setRetainedStaticContextThoroughly, setStaticProperty, simplify, simplifyChildren, staticTypeCheck, suppressValidation, toPattern, toShortString, toString, typeCheck, typeCheckChildren, typeError, unordered, verifyParentPointerspublic int getImplementationMethod()
ExpressiongetImplementationMethod in class ExpressionExpression.ITERATE_METHOD or Expression.EVALUATE_METHOD or
         Expression.PROCESS_METHODprotected final int computeCardinality()
ExpressioncomputeCardinality in class ExpressionStaticProperty.ALLOWS_ZERO_OR_ONE,
         StaticProperty.EXACTLY_ONE, StaticProperty.ALLOWS_ONE_OR_MORE,
         StaticProperty.ALLOWS_ZERO_OR_MORE. May also return StaticProperty.ALLOWS_ZERO if
         the result is known to be an empty sequence, or StaticProperty.ALLOWS_MANY if
         if is known to return a sequence of length two or more.public ItemType getItemType()
ExpressionThis method should always return a result, though it may be the best approximation that is available at the time.
getItemType in class Expressionpublic final Item evaluateItem(XPathContext context) throws XPathException
ExpressionevaluateItem in class Expressioncontext - The context in which the expression is to be evaluatedXPathException - if any dynamic error occurs evaluating the
          expressionpublic boolean effectiveBooleanValue(XPathContext context) throws XPathException
ExpressioneffectiveBooleanValue in class Expressioncontext - The context in which the expression is to be evaluatedXPathException - if any dynamic error occurs evaluating the
          expressionpublic final java.lang.CharSequence evaluateAsString(XPathContext context) throws XPathException
ExpressionevaluateAsString in class Expressioncontext - The context in which the expression is to be evaluatedXPathException - if any dynamic error occurs evaluating the
                            expressionpublic final SequenceIterator<?> iterate(XPathContext context) throws XPathException
Expressioniterate in class Expressioncontext - supplies the context for evaluationXPathException - if any dynamic error occurs evaluating the
          expressionpublic void process(XPathContext context) throws XPathException
Expressionprocess in class Expressioncontext - The dynamic context, giving access to the current node,
                the current variables, etc.XPathException - if a dynamic error occursCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.