org.jfree.xml
Class CommentHandler

java.lang.Object
  extended by 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.