net.sf.saxon.event

## Class BuilderMonitor

- java.lang.Object
- - net.sf.saxon.event.SequenceReceiver
  - - net.sf.saxon.event.ProxyReceiver
    - - net.sf.saxon.event.BuilderMonitor

- All Implemented Interfaces:
    Result, Receiver
  Direct Known Subclasses:
    LinkedBuilderMonitor, TinyBuilderMonitor

      public abstract class BuilderMonitor
      extends ProxyReceiver

  A BuilderMonitor can be inserted into a pipeline immediately in front of a Builder. During tree construction, the method markNextNode() can be called to request that the next node to be created is treated specially by remembering the current position on the tree; on completion of the tree construction, the method getMarkedNode() can be called to return the NodeInfo that was created immediately after calling markNextNode().

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.event.ProxyReceiver

      `nextReceiver`

    - ### Fields inherited from class net.sf.saxon.event.SequenceReceiver

      `pipelineConfiguration, previousAtomic, systemId`

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BuilderMonitor(Receiver next)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract NodeInfo` | `getMarkedNode()` On completion of tree building, get the node that was marked using markNextNode().
    `abstract void` | `markNextNode(int nodeKind)` Indicate that the next node to be created will be of a given type, and request the monitor to remember the identity of this node.

    - ### Methods inherited from class net.sf.saxon.event.ProxyReceiver

      `append, attribute, characters, close, comment, endDocument, endElement, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument, startElement, usesTypeAnnotations`

    - ### Methods inherited from class net.sf.saxon.event.SequenceReceiver

      `append, getConfiguration, getPipelineConfiguration, getSystemId`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BuilderMonitor

          public BuilderMonitor(Receiver next)

  - ### Method Detail

    - #### markNextNode

          public abstract void markNextNode(int nodeKind)

      Indicate that the next node to be created will be of a given type, and request the monitor to remember the identity of this node.
      Parameters:
        `nodeKind` - the kind of node that will be created next

    - #### getMarkedNode

          public abstract NodeInfo getMarkedNode()

      On completion of tree building, get the node that was marked using markNextNode().
      Returns:
        the marked node, or null if none was marked

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.