public final class UntypedSequenceConverter extends AtomicSequenceConverter
| Modifier and Type | Class and Description |
|---|---|
static class |
UntypedSequenceConverter.UntypedConverter
A Converter that converts untyped atomic values to the required type, while
leaving other values unchanged
|
AtomicSequenceConverter.AtomicSequenceMappingFunction, AtomicSequenceConverter.ToStringMappingFunctionconverter, TO_STRING_MAPPEREFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, UPDATE_METHOD, WATCH_METHOD| Constructor and Description |
|---|
UntypedSequenceConverter(Expression sequence,
PlainType requiredItemType)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
int |
computeCardinality()
Determine the static cardinality of the expression
|
int |
computeHashCode()
get HashCode for comparing two expressions.
|
int |
computeSpecialProperties()
Determine the special properties of this expression
|
Expression |
copy(RebindingMap rebindings)
Copy an expression.
|
protected java.lang.String |
displayOperator(Configuration config)
Give a string representation of the operator for use in diagnostics
|
boolean |
equals(java.lang.Object other)
Is this expression the same as another expression?
|
void |
export(ExpressionPresenter destination)
Diagnostic print of expression structure.
|
java.lang.String |
getExpressionName()
Get a name identifying the kind of expression, in terms meaningful to a user.
|
ItemType |
getItemType()
Determine the data type of the items returned by the expression, if possible
|
static UntypedSequenceConverter |
makeUntypedSequenceConverter(Configuration config,
Expression operand,
PlainType requiredItemType)
Create an AtomicSequenceConverter that converts all untypedAtomic values in the input sequence to
a specified target type, while leaving items other than untypedAtomic unchanged
|
static UntypedSequenceConverter |
makeUntypedSequenceRejector(Configuration config,
Expression operand,
PlainType requiredItemType) |
java.lang.String |
toShortString()
Produce a short string identifying the expression for use in error messages
|
Expression |
typeCheck(ExpressionVisitor visitor,
ContextItemStaticInfo contextInfo)
Type-check the expression
|
allocateConverter, allocateConverter, evaluateItem, getConverter, getImplementationMethod, getOperandRole, getRequiredItemType, getStreamerName, iterate, optimize, setConverter, simplifygetBaseExpression, getOperand, operands, setBaseExpression, toStringaddToPathMap, adoptChildExpression, allowExtractingCommonSubexpressions, checkedOperands, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getConfiguration, getConstructType, getCost, getDependencies, getEvaluationMethod, getExtraProperty, getIntegerBounds, getInterpretedExpression, getIntrinsicDependencies, getLocalRetainedStaticContext, getLocation, getNetCost, getObjectName, getPackageData, getParentExpression, getProperties, getProperty, getRetainedStaticContext, getScopingExpression, getSlotsUsed, getSpecialProperties, getStaticBaseURI, getStaticBaseURIString, getStaticType, getStaticUType, hasCompatibleStaticContext, hashCode, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isCallOn, isCallOnSystemFunction, isIdentical, isInstruction, isLiftable, isMultiThreaded, isSameExpression, isStaticPropertiesKnown, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, markTailFunctionCalls, operandList, operandSparseList, optimizeChildren, process, resetLocalStaticProperties, restoreParentPointers, setEvaluationMethod, setExtraProperty, setFiltered, setFlattened, setLocation, setParentExpression, setRetainedStaticContext, setRetainedStaticContextLocally, setRetainedStaticContextThoroughly, setStaticProperty, simplifyChildren, staticTypeCheck, suppressValidation, toPattern, typeCheckChildren, typeError, unordered, verifyParentPointers, verifyParentPointerspublic UntypedSequenceConverter(Expression sequence, PlainType requiredItemType)
sequence - this must be a sequence of atomic values. This is not checked; a ClassCastException
will occur if the precondition is not satisfied.requiredItemType - the item type to which all items in the sequence should be converted,
using the rules for "cast as".public static UntypedSequenceConverter makeUntypedSequenceConverter(Configuration config, Expression operand, PlainType requiredItemType) throws XPathException
config - the Saxon configurationoperand - the expression that delivers the input sequencerequiredItemType - the type to which untypedAtomic values should be cast, which must either be an
atomic type or a "plain" union typeXPathException - if an error occurs, for example if the target type is namespace-sensitivepublic static UntypedSequenceConverter makeUntypedSequenceRejector(Configuration config, Expression operand, PlainType requiredItemType)
public Expression typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException
AtomicSequenceConvertertypeCheck in class AtomicSequenceConvertervisitor - an expression visitorcontextInfo - Information available statically about the context item: whether it is (possibly)
absent; its static type; its streaming posture.XPathException - if an error is discovered during this phase
(typically a type error)public int computeSpecialProperties()
computeSpecialProperties in class AtomicSequenceConverterStaticProperty.NON_CREATIVE.public Expression copy(RebindingMap rebindings)
copy in class AtomicSequenceConverterrebindings - public ItemType getItemType()
getItemType in class AtomicSequenceConverterpublic int computeCardinality()
computeCardinality in class AtomicSequenceConverterStaticProperty.ALLOWS_ZERO_OR_ONE,
StaticProperty.EXACTLY_ONE, StaticProperty.ALLOWS_ONE_OR_MORE,
StaticProperty.ALLOWS_ZERO_OR_MOREpublic boolean equals(java.lang.Object other)
equals in class AtomicSequenceConverterpublic int computeHashCode()
computeHashCode in class AtomicSequenceConverterprotected java.lang.String displayOperator(Configuration config)
UnaryExpressiondisplayOperator in class AtomicSequenceConverterconfig - the Saxon configurationpublic java.lang.String getExpressionName()
getExpressionName in class AtomicSequenceConverterpublic java.lang.String toShortString()
ExpressiontoShortString in class UnaryExpressionpublic void export(ExpressionPresenter destination) throws XPathException
export in interface ExportAgentexport in class AtomicSequenceConverterdestination - 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.Copyright (c) 2004-2018 Saxonica Limited. All rights reserved.