Class ApplyTemplates.ApplyTemplatesPackage

  • All Implemented Interfaces:
    TailCall
    Enclosing class:
    ApplyTemplates

    protected static class ApplyTemplates.ApplyTemplatesPackage
    extends java.lang.Object
    implements TailCall
    An ApplyTemplatesPackage is an object that encapsulates the sequence of nodes to be processed, the mode, the parameters to be supplied, and the execution context. This object can be returned as a tail call, so that the actual call is made from a lower point on the stack, allowing a tail-recursive template to execute in a finite stack size
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      TailCall processLeavingTail()
      Process this TailCall (that is, executed the template call that is packaged in this object).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • processLeavingTail

        public TailCall processLeavingTail()
                                    throws XPathException
        Description copied from interface: TailCall
        Process this TailCall (that is, executed the template call that is packaged in this object). This may return a further TailCall, which should also be processed: this is the mechanism by which a nested set of recursive calls is converted into an iteration.
        Specified by:
        processLeavingTail in interface TailCall
        Returns:
        a further TailCall, if the recursion continues, or null, indicating that the recursion has terminated.
        Throws:
        XPathException - if any error occurs processing the tail call