Package net.sf.saxon.functions
Class StringLength_1
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.ScalarSystemFunction
-
- net.sf.saxon.functions.StringLength_1
-
- All Implemented Interfaces:
Callable
,Function
,GroundedValue
,Item
,Sequence
public class StringLength_1 extends ScalarSystemFunction
Implement the XPath string-length() function
-
-
Field Summary
-
Fields inherited from class net.sf.saxon.functions.ScalarSystemFunction
ZERO_LENGTH_STRING
-
-
Constructor Summary
Constructors Constructor Description StringLength_1()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AtomicValue
evaluate(Item arg, XPathContext context)
Abstract method that must be supplied in subclasses to perform the evaluationjava.lang.String
getCompilerName()
Get the (local) name of a class that can be used to generate bytecode for this system functionIntegerValue[]
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.ZeroOrOne
resultWhenEmpty()
Method that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value.-
Methods inherited from class net.sf.saxon.functions.ScalarSystemFunction
call, makeFunctionCall
-
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
-
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.
-
resultWhenEmpty
public ZeroOrOne resultWhenEmpty()
Description copied from class:ScalarSystemFunction
Method that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value. The default is to return the empty sequence- Overrides:
resultWhenEmpty
in classScalarSystemFunction
- Returns:
- the result of evaluation when the supplied argument is an empty sequence
-
evaluate
public AtomicValue evaluate(Item arg, XPathContext context) throws XPathException
Description copied from class:ScalarSystemFunction
Abstract method that must be supplied in subclasses to perform the evaluation- Specified by:
evaluate
in classScalarSystemFunction
- Parameters:
arg
- 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
-
-