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_MAPPERoperandEFFECTIVE_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, simplifygetBaseExpression, iterateSubExpressions, promote, replaceSubExpression, toStringaddToPathMap, 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, typeErrorpublic 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
AtomicSequenceConvertertypeCheck in class AtomicSequenceConvertervisitor - 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_TYPEXPathException - if an error is discovered during this phase
(typically a type error)public int computeSpecialProperties()
computeSpecialProperties in class AtomicSequenceConverterStaticProperty.NON_CREATIVE.public Expression copy()
copy in class AtomicSequenceConverterpublic ItemType getItemType(TypeHierarchy th)
getItemType in class AtomicSequenceConverterth - the type hierarchy cachepublic 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(Object other)
equals in class AtomicSequenceConverterpublic int hashCode()
hashCode in class AtomicSequenceConverterprotected String displayOperator(Configuration config)
UnaryExpressiondisplayOperator in class AtomicSequenceConverterconfig - the Saxon configurationpublic String getExpressionName()
getExpressionName in class AtomicSequenceConverterpublic void explain(ExpressionPresenter destination)
explain in class AtomicSequenceConverterdestination - the expression presenter used to display the structureCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.