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 Details

    • targetType

      protected ListType targetType
    • nsResolver

      protected NamespaceResolver nsResolver
    • allowEmpty

      protected boolean allowEmpty
    • memberType

      protected SimpleType memberType
  • Constructor Details

    • 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 input
      resolver - namespace resolver for use if the target type is namespace-sensitive
      allowEmpty - true if the input is allowed to be an empty sequence
      Throws:
      MissingComponentException - if the target type has not been declared
  • Method Details

    • 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 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 context
      args - the actual arguments to be supplied
      Returns:
      the result of invoking the function
      Throws:
      XPathException - if a dynamic error occurs within the function