Class 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 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 Description
      CommentHandler()
      DefaultConstructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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

        equals, 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.