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.ToStringMappingFunction
converter, TO_STRING_MAPPER
operand
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, 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 |
computeSpecialProperties()
Determine the special properties of this expression
|
Expression |
copy()
Copy an expression.
|
protected String |
displayOperator(Configuration config)
Give a string representation of the operator for use in diagnostics
|
boolean |
equals(Object other)
Is this expression the same as another expression?
|
void |
explain(ExpressionPresenter destination)
Diagnostic print of expression structure.
|
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
|
int |
hashCode()
get HashCode for comparing two expressions.
|
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) |
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, evaluateItem, getConverter, getExpressionCompiler, getOperandRole, getRequiredItemType, getStreamingAdjunct, iterate, optimize, setConverter, simplify
getBaseExpression, operands, promote, replaceOperand, toString
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, clearStreamabilityData, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getConfiguration, getConstructType, getContainer, getDependencies, getEvaluationMethod, getHostLanguage, getImplementationMethod, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLocationId, getObjectName, getPosture, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getStreamability, getSweep, getSystemId, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isIdentical, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, makeStreamingAdjunct, markTailFunctionCalls, operandList, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, setPostureAndSweep, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, typeError, unordered
public 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
AtomicSequenceConverter
typeCheck
in class AtomicSequenceConverter
visitor
- 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 AtomicSequenceConverter
StaticProperty.NON_CREATIVE
.public Expression copy()
copy
in class AtomicSequenceConverter
public ItemType getItemType()
getItemType
in class AtomicSequenceConverter
public int computeCardinality()
computeCardinality
in class AtomicSequenceConverter
StaticProperty.ALLOWS_ZERO_OR_ONE
,
StaticProperty.EXACTLY_ONE
, StaticProperty.ALLOWS_ONE_OR_MORE
,
StaticProperty.ALLOWS_ZERO_OR_MORE
public boolean equals(Object other)
equals
in class AtomicSequenceConverter
public int hashCode()
hashCode
in class AtomicSequenceConverter
protected String displayOperator(Configuration config)
UnaryExpression
displayOperator
in class AtomicSequenceConverter
config
- the Saxon configurationpublic String getExpressionName()
getExpressionName
in class AtomicSequenceConverter
public String toShortString()
Expression
toShortString
in class UnaryExpression
public void explain(ExpressionPresenter destination)
explain
in class AtomicSequenceConverter
destination
- the expression presenter used to display the structureCopyright (c) 2004-2014 Saxonica Limited. All rights reserved.