Package net.sf.saxon.functions
Class AccessorFn
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.ScalarSystemFunction
-
- net.sf.saxon.functions.AccessorFn
-
- All Implemented Interfaces:
Callable
,Function
,GroundedValue
,Item
,Sequence
- Direct Known Subclasses:
AccessorFn.DayFromDate
,AccessorFn.DayFromDateTime
,AccessorFn.DaysFromDuration
,AccessorFn.HoursFromDateTime
,AccessorFn.HoursFromDuration
,AccessorFn.HoursFromTime
,AccessorFn.LocalNameFromQName
,AccessorFn.MinutesFromDateTime
,AccessorFn.MinutesFromDuration
,AccessorFn.MinutesFromTime
,AccessorFn.MonthFromDate
,AccessorFn.MonthFromDateTime
,AccessorFn.MonthsFromDuration
,AccessorFn.NamespaceUriFromQName
,AccessorFn.PrefixFromQName
,AccessorFn.SecondsFromDateTime
,AccessorFn.SecondsFromDuration
,AccessorFn.SecondsFromTime
,AccessorFn.TimezoneFromDate
,AccessorFn.TimezoneFromDateTime
,AccessorFn.TimezoneFromTime
,AccessorFn.YearFromDate
,AccessorFn.YearFromDateTime
,AccessorFn.YearsFromDuration
public abstract class AccessorFn extends ScalarSystemFunction
This class supports the get_X_from_Y functions defined in XPath 2.0
-
-
Nested Class Summary
-
Field Summary
-
Fields inherited from class net.sf.saxon.functions.ScalarSystemFunction
ZERO_LENGTH_STRING
-
-
Constructor Summary
Constructors Constructor Description AccessorFn()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AtomicValue
evaluate(Item item, XPathContext context)
Evaluate the expressionjava.lang.String
getCompilerName()
Get the (local) name of a class that can be used to generate bytecode for this system functionabstract AccessorFn.Component
getComponentId()
IntegerValue[]
getIntegerBounds()
For an expression that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis.int
getRequiredComponent()
Get the required component-
Methods inherited from class net.sf.saxon.functions.ScalarSystemFunction
call, makeFunctionCall, resultWhenEmpty
-
Methods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, importAttributes, isTrustedResultType, makeCall, makeFunction, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller
-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEquals, effectiveBooleanValue, getAnnotations, getStringValue, getStringValueCS, isArray, isMap, makeNewContext, simplify, typeCheck
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, head, isStreamed, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Method Detail
-
getComponentId
public abstract AccessorFn.Component getComponentId()
-
getIntegerBounds
public IntegerValue[] getIntegerBounds()
For an expression that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis. The default implementation returns null, meaning "unknown" or "not applicable". Other implementations return an array of two IntegerValue objects, representing the lower and upper bounds respectively. The values UNBOUNDED_LOWER and UNBOUNDED_UPPER are used by convention to indicate that the value may be arbitrarily large. The values MAX_STRING_LENGTH and MAX_SEQUENCE_LENGTH are used to indicate values limited by the size of a string or the size of a sequence.- Overrides:
getIntegerBounds
in classSystemFunction
- Returns:
- the lower and upper bounds of integer values in the result, or null to indicate unknown or not applicable.
-
getRequiredComponent
public int getRequiredComponent()
Get the required component- Returns:
- the integer code identifying of the required component
-
evaluate
public AtomicValue evaluate(Item item, XPathContext context) throws XPathException
Evaluate the expression- Specified by:
evaluate
in classScalarSystemFunction
- Parameters:
item
- the supplied argumentcontext
- the dynamic context- Returns:
- the result of the evaluation
- Throws:
XPathException
- if a dynamic error occurs
-
getCompilerName
public java.lang.String getCompilerName()
Description copied from class:SystemFunction
Get the (local) name of a class that can be used to generate bytecode for this system function- Overrides:
getCompilerName
in classSystemFunction
- Returns:
- the name of a bytecode generation class, or null if there is no bytecode support for this function
-
-