public class WherePopulated extends UnaryExpression implements ItemMappingFunction
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 |
---|
WherePopulated(Expression base)
Create the instruction
|
Modifier and Type | Method and Description |
---|---|
protected int |
computeCardinality()
Determine the static cardinality.
|
Expression |
copy(RebindingMap rebindings)
Copy an expression.
|
void |
export(ExpressionPresenter out)
Diagnostic print of expression structure.
|
java.lang.String |
getExpressionName()
Get a name identifying the kind of expression, in terms meaningful to a user.
|
int |
getImplementationMethod()
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process().
|
protected OperandRole |
getOperandRole()
Get the usage (in terms of streamability analysis) of the single operand
|
java.lang.String |
getStreamerName()
Get the (partial) name of a class that supports streaming of this kind of expression
|
static boolean |
isDeemedEmpty(Item item)
Test whether an item is empty according to the definition in the spec
for xsl:conditional-content
|
boolean |
isInstruction()
Ask whether this expression is an instruction.
|
SequenceIterator |
iterate(XPathContext context)
Return an Iterator to iterate over the values of a sequence.
|
Item |
mapItem(Item item)
Map one item to another item.
|
void |
process(Outputter output,
XPathContext context)
Process the instruction, without returning any tail calls
|
computeHashCode, computeSpecialProperties, displayOperator, emitExtraAttributes, equals, getBaseExpression, getItemType, getOperand, operands, optimize, setBaseExpression, toShortString, toString, typeCheck
addToPathMap, adoptChildExpression, allowExtractingCommonSubexpressions, checkedOperands, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getConfiguration, getCost, getDependencies, getEvaluationMethod, getExtraProperty, getIntegerBounds, getInterpretedExpression, getIntrinsicDependencies, getLocalRetainedStaticContext, getLocation, getNetCost, getObjectName, getPackageData, getParentExpression, getProperties, getProperty, getRetainedStaticContext, getScopingExpression, getSlotsUsed, getSpecialProperties, getStaticBaseURI, getStaticBaseURIString, getStaticType, getStaticUType, getTracingTag, hasCompatibleStaticContext, hashCode, hasSpecialProperty, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isCallOn, isEqual, isIdentical, isLiftable, isMultiThreaded, isStaticPropertiesKnown, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, markTailFunctionCalls, operandList, operandSparseList, optimizeChildren, prepareForStreaming, resetLocalStaticProperties, restoreParentPointers, setEvaluationMethod, setExtraProperty, setFiltered, setFlattened, setLocation, setParentExpression, setRetainedStaticContext, setRetainedStaticContextLocally, setRetainedStaticContextThoroughly, setStaticProperty, simplify, simplifyChildren, staticTypeCheck, suppressValidation, toPattern, typeCheckChildren, typeError, unordered, verifyParentPointers
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
gatherProperties
public WherePopulated(Expression base)
base
- the base expressionpublic boolean isInstruction()
isInstruction
in class Expression
protected OperandRole getOperandRole()
getOperandRole
in class UnaryExpression
public Expression copy(RebindingMap rebindings)
Expression
copy
in class Expression
rebindings
- a mutable list of (old binding, new binding) pairs
that is used to update the bindings held in any
local variable references that are copied.public int getImplementationMethod()
getImplementationMethod
in class Expression
Expression.ITERATE_METHOD
or Expression.EVALUATE_METHOD
or
Expression.PROCESS_METHOD
protected int computeCardinality()
UnaryExpression
computeCardinality
in class UnaryExpression
StaticProperty.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 SequenceIterator iterate(XPathContext context) throws XPathException
iterate
in class Expression
context
- supplies the context for evaluationXPathException
- if any dynamic error occurs evaluating the
expressionpublic void process(Outputter output, XPathContext context) throws XPathException
process
in class Expression
output
- the destination for the resultcontext
- The dynamic context, giving access to the current node,
the current variables, etc.XPathException
- if a dynamic error occurspublic Item mapItem(Item item) throws XPathException
mapItem
in interface ItemMappingFunction
item
- The input item to be mapped.XPathException
- if a dynamic error occurspublic static boolean isDeemedEmpty(Item item)
item
- the item to be testedpublic java.lang.String getExpressionName()
getExpressionName
in class Expression
public void export(ExpressionPresenter out) throws XPathException
UnaryExpression
export
in interface ExportAgent
export
in class UnaryExpression
out
- the expression presenter used to display the structureXPathException
- if the export fails, for example if an expression is found that won't work
in the target environment.public java.lang.String getStreamerName()
getStreamerName
in class Expression
Copyright (c) 2004-2022 Saxonica Limited. All rights reserved.