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, EVENT_FEED_METHOD, INHERITED_CONTEXT, INSPECTION_CONTEXT, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, NAVIGATION_CONTEXT, NODE_VALUE_CONTEXT, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, W3C_CONSUMING, W3C_FREE_RANGING, W3C_GROUP_CONSUMING, W3C_MOTIONLESS, 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(TypeHierarchy th)
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) |
Expression |
typeCheck(ExpressionVisitor visitor,
ExpressionVisitor.ContextItemType contextItemType)
Type-check the expression
|
allocateConverter, evaluateItem, getConverter, getExpressionCompiler, getRequiredItemType, getStreamability, getStreamingAdjunct, iterate, optimize, setConverter, simplify
getBaseExpression, iterateSubExpressions, promote, replaceSubExpression, toString
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getImplementationMethod, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSubExpressionInfo, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, typeError
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, ExpressionVisitor.ContextItemType contextItemType) throws XPathException
AtomicSequenceConverter
typeCheck
in class AtomicSequenceConverter
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 int computeSpecialProperties()
computeSpecialProperties
in class AtomicSequenceConverter
StaticProperty.NON_CREATIVE
.public Expression copy()
copy
in class AtomicSequenceConverter
public ItemType getItemType(TypeHierarchy th)
getItemType
in class AtomicSequenceConverter
th
- the type hierarchy cachepublic 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 void explain(ExpressionPresenter destination)
explain
in class AtomicSequenceConverter
destination
- the expression presenter used to display the structureCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.