## 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
`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
`CommentHandler()` DefaultConstructor.

Method Summary
`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.