org.jfree.xml

## Class CommentHandler

- java.lang.Object
- - org.jfree.xml.CommentHandler

- All Implemented Interfaces:
    org.xml.sax.ext.LexicalHandler

      public class CommentHandler
      extends java.lang.Object
      implements org.xml.sax.ext.LexicalHandler

  The comment handler is used to collect all XML comments from the SAX parser. The parser implementation must support comments to make this feature work.
  Author:
    Thomas Morgner

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CLOSE_TAG_COMMENT` A constant marking a comment on the closing tag.
    `static java.lang.String` | `OPEN_TAG_COMMENT` A constant marking a comment on the opening tag.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CommentHandler()` DefaultConstructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clearComments()` Clears all comments.
    `void` | `comment(char[] ch, int start, int length)` Report an XML comment anywhere in the document.
    `void` | `endCDATA()` Report the end of a CDATA section.
    `void` | `endDTD()` Report the end of DTD declarations.
    `void` | `endEntity(java.lang.String name)` Report the end of an entity.
    `java.lang.String[]` | `getComments()` Returns all collected comments as string array.
    `void` | `startCDATA()` Report the start of a CDATA section.
    `void` | `startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)` Report the start of DTD declarations, if any.
    `void` | `startEntity(java.lang.String name)` Report the beginning of some internal and external XML entities.

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

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

- - ### Field Detail

    - #### OPEN_TAG_COMMENT

          public static final java.lang.String OPEN_TAG_COMMENT

      A constant marking a comment on the opening tag.
      See Also:
        Constant Field Values

    - #### CLOSE_TAG_COMMENT

          public static final java.lang.String CLOSE_TAG_COMMENT

      A constant marking a comment on the closing tag.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CommentHandler

          public CommentHandler()

      DefaultConstructor.

  - ### Method Detail

    - #### startDTD

          public void startDTD(java.lang.String name,
                      java.lang.String publicId,
                      java.lang.String systemId)
                        throws org.xml.sax.SAXException

      Report the start of DTD declarations, if any.

      This method is empty.

      Specified by:
        `startDTD` in interface `org.xml.sax.ext.LexicalHandler`
      Parameters:
        `name` - The document type name.
        `publicId` - The declared public identifier for the external DTD subset, or null if none was declared.
        `systemId` - The declared system identifier for the external DTD subset, or null if none was declared.
      Throws:
        `org.xml.sax.SAXException` - The application may raise an exception.
      See Also:
        `endDTD()`, `startEntity(String)`

    - #### endDTD

          public void endDTD()
                      throws org.xml.sax.SAXException

      Report the end of DTD declarations.

      This method is empty.

      Specified by:
        `endDTD` in interface `org.xml.sax.ext.LexicalHandler`
      Throws:
        `org.xml.sax.SAXException` - The application may raise an exception.

    - #### startEntity

          public void startEntity(java.lang.String name)
                           throws org.xml.sax.SAXException

      Report the beginning of some internal and external XML entities.

      This method is empty.

      Specified by:
        `startEntity` in interface `org.xml.sax.ext.LexicalHandler`
      Parameters:
        `name` - The name of the entity. If it is a parameter entity, the name will begin with '%', and if it is the external DTD subset, it will be "[dtd]".
      Throws:
        `org.xml.sax.SAXException` - The application may raise an exception.
      See Also:
        `endEntity(String)`, `DeclHandler.internalEntityDecl(java.lang.String, java.lang.String)`, `DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)`

    - #### endEntity

          public void endEntity(java.lang.String name)
                         throws org.xml.sax.SAXException

      Report the end of an entity.

      This method is empty.

      Specified by:
        `endEntity` in interface `org.xml.sax.ext.LexicalHandler`
      Parameters:
        `name` - The name of the entity that is ending.
      Throws:
        `org.xml.sax.SAXException` - The application may raise an exception.
      See Also:
        `startEntity(String)`

    - #### startCDATA

          public void startCDATA()
                          throws org.xml.sax.SAXException

      Report the start of a CDATA section.

      This method is empty.

      Specified by:
        `startCDATA` in interface `org.xml.sax.ext.LexicalHandler`
      Throws:
        `org.xml.sax.SAXException` - The application may raise an exception.
      See Also:
        `endCDATA()`

    - #### endCDATA

          public void endCDATA()
                        throws org.xml.sax.SAXException

      Report the end of a CDATA section.

      This method is empty.

      Specified by:
        `endCDATA` in interface `org.xml.sax.ext.LexicalHandler`
      Throws:
        `org.xml.sax.SAXException` - The application may raise an exception.
      See Also:
        `startCDATA()`

    - #### comment

          public void comment(char[] ch,
                     int start,
                     int length)
                       throws org.xml.sax.SAXException

      Report an XML comment anywhere in the document.

      This callback will be used for comments inside or outside the document element, including comments in the external DTD subset (if read). Comments in the DTD must be properly nested inside start/endDTD and start/endEntity events (if used).

      Specified by:
        `comment` in interface `org.xml.sax.ext.LexicalHandler`
      Parameters:
        `ch` - An array holding the characters in the comment.
        `start` - The starting position in the array.
        `length` - The number of characters to use from the array.
      Throws:
        `org.xml.sax.SAXException` - The application may raise an exception.

    - #### getComments

          public java.lang.String[] getComments()

      Returns all collected comments as string array.
      Returns:
        the array containing all comments.

    - #### clearComments

          public void clearComments()

      Clears all comments.