Package net.sf.saxon.expr
Class ListConstructorFunction
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.expr.ListConstructorFunction
-
- All Implemented Interfaces:
Callable
,FunctionItem
,GroundedValue
,Item
,Sequence
- Direct Known Subclasses:
ListCastableFunction
public class ListConstructorFunction extends AbstractFunction
A function item representing a constructor function for a list type
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
allowEmpty
protected SimpleType
memberType
protected NamespaceResolver
nsResolver
protected ListType
targetType
-
Constructor Summary
Constructors Constructor Description ListConstructorFunction(ListType targetType, NamespaceResolver resolver, boolean allowEmpty)
Create the constructor function.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AtomicSequence
call(XPathContext context, Sequence[] args)
Invoke the functionint
getArity()
Get the arity of the functionjava.lang.String
getDescription()
Get a description of this function for use in error messages.FunctionItemType
getFunctionItemType()
Get the item type of the function itemStructuredQName
getFunctionName()
Get the name of the function, or null if it is anonymousSimpleType
getMemberType()
Get the list item type (member type)ListType
getTargetType()
Get the list typeboolean
isAllowEmpty()
Ask whether an empty sequence is allowed-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, export, getAnnotations, getOperandRoles, getUnicodeStringValue, isArray, isMap, isTrustedResultType, makeNewContext, simplify, toShortString, typeCheck
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.FunctionItem
getGenre, isSequenceVariadic
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Field Detail
-
targetType
protected ListType targetType
-
nsResolver
protected NamespaceResolver nsResolver
-
allowEmpty
protected boolean allowEmpty
-
memberType
protected SimpleType memberType
-
-
Constructor Detail
-
ListConstructorFunction
public ListConstructorFunction(ListType targetType, NamespaceResolver resolver, boolean allowEmpty) throws MissingComponentException
Create the constructor function.- Parameters:
targetType
- the type to which the function will convert its inputresolver
- namespace resolver for use if the target type is namespace-sensitiveallowEmpty
- true if the input is allowed to be an empty sequence- Throws:
MissingComponentException
- if the target type has not been declared
-
-
Method Detail
-
getTargetType
public ListType getTargetType()
Get the list type- Returns:
- the last type to which we are casting
-
getMemberType
public SimpleType getMemberType()
Get the list item type (member type)- Returns:
- the item type of the list
-
isAllowEmpty
public boolean isAllowEmpty()
Ask whether an empty sequence is allowed- Returns:
- true if passing an empty sequence is allowed (and returns empty)
-
getFunctionItemType
public FunctionItemType getFunctionItemType()
Get the item type of the function item- Returns:
- the function item's type
-
getFunctionName
public StructuredQName getFunctionName()
Get the name of the function, or null if it is anonymous- Returns:
- the function name, or null for an anonymous inline function
-
getDescription
public java.lang.String getDescription()
Get a description of this function for use in error messages. For named functions, the description is the function name (as a lexical QName). For others, it might be, for example, "inline function", or "partially-applied ends-with function".- Returns:
- a description of the function for use in error messages
-
getArity
public int getArity()
Get the arity of the function- Returns:
- the number of arguments in the function signature
-
call
public AtomicSequence call(XPathContext context, Sequence[] args) throws XPathException
Invoke the function- Parameters:
context
- the XPath dynamic evaluation contextargs
- the actual arguments to be supplied- Returns:
- the result of invoking the function
- Throws:
XPathException
- if a dynamic error occurs within the function
-
-