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 Sequence
call(XPathContext context, Sequence[] args)
Invoke the functionvoid
export(ExpressionPresenter out)
Output information about this function item to the diagnostic explain() outputint
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.boolean
isTrustedResultType()
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:AbstractFunction
Output information about this function item to the diagnostic explain() output- Specified by:
export
in interfaceFunctionItem
- Overrides:
export
in classAbstractFunction
- Parameters:
out
- the destination for the information- Throws:
XPathException
- if things go wrong
-
isTrustedResultType
public boolean isTrustedResultType()
Description copied from class:AbstractFunction
Check that result type is SystemFunction or AtomicConstructorFunction- Specified by:
isTrustedResultType
in interfaceFunctionItem
- Overrides:
isTrustedResultType
in classAbstractFunction
- Returns:
- true if the implementation can be trusted
-
-