Package net.sf.saxon.functions
Class Reverse
- java.lang.Object
-
- net.sf.saxon.expr.Expression
-
- net.sf.saxon.expr.FunctionCall
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.Reverse
-
- All Implemented Interfaces:
java.io.Serializable,javax.xml.transform.SourceLocator,LocationProvider,SaxonLocator,CallableExpression,InstructionInfo,org.xml.sax.Locator
public class Reverse extends SystemFunction implements CallableExpression
Implement XPath function fn:reverse()- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class net.sf.saxon.functions.SystemFunction
operation
-
Fields inherited from class net.sf.saxon.expr.FunctionCall
argument
-
Fields inherited from class net.sf.saxon.expr.Expression
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
-
-
Constructor Summary
Constructors Constructor Description Reverse()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceIteratorcall(SequenceIterator[] arguments, XPathContext context)Evaluate the expressionintcomputeSpecialProperties()Determine the special properties of this expression.booleaneffectiveBooleanValue(XPathContext context)Get the effective boolean value of the expression.ItemTypegetItemType(TypeHierarchy th)Determine the item type of the value returned by the functionstatic SequenceIteratorgetReverseIterator(SequenceIterator forwards)SequenceIteratoriterate(XPathContext context)Return an Iterator to iterate over the values of a sequence.-
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, copy, equals, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
-
Methods inherited from class net.sf.saxon.expr.FunctionCall
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck
-
Methods inherited from class net.sf.saxon.expr.Expression
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.expr.CallableExpression
getArguments
-
-
-
-
Method Detail
-
getItemType
public ItemType getItemType(TypeHierarchy th)
Determine the item type of the value returned by the function- Overrides:
getItemTypein classSystemFunction- Parameters:
th- the type hierarchy cache- Returns:
- a value such as Type.STRING, Type.BOOLEAN, Type.NUMBER, Type.NODE, or Type.ITEM (meaning not known at compile time)
-
computeSpecialProperties
public int computeSpecialProperties()
Description copied from class:SystemFunctionDetermine the special properties of this expression. The general rule is that a system function call is non-creative if its return type is atomic, or if all its arguments are non-creative. This is overridden for the generate-id() function, which is considered creative if its operand is creative (because the result depends on the identity of the operand)- Overrides:
computeSpecialPropertiesin classSystemFunction- Returns:
- the special properties, as a bit-significant integer
-
iterate
public SequenceIterator iterate(XPathContext context) throws XPathException
Description copied from class:ExpressionReturn an Iterator to iterate over the values of a sequence. The value of every expression can be regarded as a sequence, so this method is supported for all expressions. This default implementation handles iteration for expressions that return singleton values: for non-singleton expressions, the subclass must provide its own implementation.- Overrides:
iteratein classExpression- Parameters:
context- supplies the context for evaluation- Returns:
- a SequenceIterator that can be used to iterate over the result of the expression
- Throws:
XPathException- if any dynamic error occurs evaluating the expression
-
getReverseIterator
public static SequenceIterator getReverseIterator(SequenceIterator forwards) throws XPathException
- Throws:
XPathException
-
effectiveBooleanValue
public boolean effectiveBooleanValue(XPathContext context) throws XPathException
Description copied from class:ExpressionGet the effective boolean value of the expression. This returns false if the value is the empty sequence, a zero-length string, a number equal to zero, or the boolean false. Otherwise it returns true.- Overrides:
effectiveBooleanValuein classExpression- Parameters:
context- The context in which the expression is to be evaluated- Returns:
- the effective boolean value
- Throws:
XPathException- if any dynamic error occurs evaluating the expression
-
call
public SequenceIterator call(SequenceIterator[] arguments, XPathContext context) throws XPathException
Description copied from interface:CallableExpressionEvaluate the expression- Specified by:
callin interfaceCallableExpression- Parameters:
arguments- the values of the arguments, supplied as SequenceIteratorscontext- the dynamic evaluation context- Returns:
- the result of the evaluation, in the form of a SequenceIterator
- Throws:
XPathException- if a dynamic error occurs during the evaluation of the expression
-
-