DefaultNestedDocumentHandler
Date: 2016-04-28

org.apache.xmlgraphics.ps.dsc

## Class DefaultNestedDocumentHandler

- java.lang.Object
- - org.apache.xmlgraphics.ps.dsc.DefaultNestedDocumentHandler

- All Implemented Interfaces:
    DSCListener, DSCParserConstants, NestedDocumentHandler

      public class DefaultNestedDocumentHandler
      extends java.lang.Object
      implements DSCParserConstants, NestedDocumentHandler, DSCListener

  `DSCListener` implementation which automatically skips data between Begin/EndDocument and Begin/EndData.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.xmlgraphics.ps.dsc.DSCParserConstants

      `COMMENT, DSC_COMMENT, EOF, HEADER_COMMENT, LINE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultNestedDocumentHandler(PSGenerator gen)` Creates a new instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `handle(DSCEvent event, DSCParser parser)` Handle a DSC event.
    `void` | `processEvent(DSCEvent event, DSCParser parser)` Called for each DSC event.

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

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

- - ### Constructor Detail

    - #### DefaultNestedDocumentHandler

          public DefaultNestedDocumentHandler(PSGenerator gen)

      Creates a new instance.
      Parameters:
        `gen` - PSGenerator to pass through the skipped content

  - ### Method Detail

    - #### handle

          public void handle(DSCEvent event,
                    DSCParser parser)
                      throws java.io.IOException,
                             DSCException

      Handle a DSC event. Implementations may issue additional calls to the DSC parser and may modify its state. When returning from the call, state information such as filters should be restored.
      Specified by:
        `handle` in interface `NestedDocumentHandler`
      Parameters:
        `event` - the DSC event to handle
        `parser` - the DSC parser to work with
      Throws:
        `java.io.IOException` - In case of an I/O error
        `DSCException` - In case of a violation of the DSC spec

    - #### processEvent

          public void processEvent(DSCEvent event,
                          DSCParser parser)
                            throws java.io.IOException,
                                   DSCException

      Called for each DSC event. You can call methods on the DSC parser to skip comments, for example. But implementations need to be good citizens and take into account that multiple listeners can be active at the same time and that they might interfere with other listeners. When returning from the call, state information such as filters should be restored.
      Specified by:
        `processEvent` in interface `DSCListener`
      Parameters:
        `event` - the DSC event
        `parser` - the DSC parser
      Throws:
        `java.io.IOException` - if an I/O error occurs
        `DSCException` - if a DSC-specific error occurs