Package net.sf.saxon.functions.hof
Class AtomicConstructorFunction
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.hof.AtomicConstructorFunction
-
- All Implemented Interfaces:
Callable,FunctionItem,GroundedValue,Item,Sequence
public class AtomicConstructorFunction extends AbstractFunction
A function item representing a constructor function for an atomic type.Note: this will never by an anonymous type.
-
-
Constructor Summary
Constructors Constructor Description AtomicConstructorFunction(AtomicType targetType, NamespaceResolver resolver)Create the constructor function.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Sequencecall(XPathContext context, Sequence[] args)Invoke the functionvoidexport(ExpressionPresenter out)Output information about this function item to the diagnostic explain() outputintgetArity()Get the arity of the functionjava.lang.StringgetDescription()Get a description of this function for use in error messages.FunctionItemTypegetFunctionItemType()Get the item type of the function itemStructuredQNamegetFunctionName()Get the name of the function.booleanisTrustedResultType()Check that result type is SystemFunction or AtomicConstructorFunction-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getOperandRoles, getUnicodeStringValue, isArray, isMap, 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
-
-
-
-
Constructor Detail
-
AtomicConstructorFunction
public AtomicConstructorFunction(AtomicType targetType, NamespaceResolver resolver)
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-sensitive
-
-
Method Detail
-
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.- Returns:
- the function name. Atomic constructor functions are never anonymous.
-
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 Sequence 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
-
export
public void export(ExpressionPresenter out) throws XPathException
Description copied from class:AbstractFunctionOutput information about this function item to the diagnostic explain() output- Specified by:
exportin interfaceFunctionItem- Overrides:
exportin classAbstractFunction- Parameters:
out- the destination for the information- Throws:
XPathException- if things go wrong
-
isTrustedResultType
public boolean isTrustedResultType()
Description copied from class:AbstractFunctionCheck that result type is SystemFunction or AtomicConstructorFunction- Specified by:
isTrustedResultTypein interfaceFunctionItem- Overrides:
isTrustedResultTypein classAbstractFunction- Returns:
- true if the implementation can be trusted
-
-