Package org.dom4j.io

Class SAXEventRecorder

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.ext.LexicalHandler

    public class SAXEventRecorder
    extends org.xml.sax.helpers.DefaultHandler
    implements org.xml.sax.ext.LexicalHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.DTDHandler, java.io.Externalizable

    Records SAX events such that they may be "replayed" at a later time. Provides an alternative serialization approach when externalizing a DOM4J document. Rather than serializing a document as text and re-parsing, the sax events may be serialized instead.

    Example usage:
     
      
      
             SAXEventRecorder recorder = new SAXEventRecorder();
             SAXWriter saxWriter = new SAXWriter(recorder, recorder);
             saxWriter.write(document);
             out.writeObject(recorder);
             ...
             SAXEventRecorder recorder = (SAXEventRecorder)in.readObject();
             SAXContentHandler saxContentHandler = new SAXContentHandler();
             recorder.replay(saxContentHandler);
             Document document = saxContentHandler.getDocument();
      
       
      
     
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long serialVersionUID  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void attributeDecl(java.lang.String eName, java.lang.String aName, java.lang.String type, java.lang.String valueDefault, java.lang.String value)  
      void comment(char[] ch, int start, int end)  
      void elementDecl(java.lang.String name, java.lang.String model)  
      void endCDATA()  
      void endDocument()  
      void endDTD()  
      void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)  
      void endEntity(java.lang.String name)  
      void endPrefixMapping(java.lang.String prefix)  
      void externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String sysId)  
      void characters(char[] ch, int start, int end)  
      void internalEntityDecl(java.lang.String name, java.lang.String value)  
      void processingInstruction(java.lang.String target, java.lang.String data)  
      void readExternal(java.io.ObjectInput in)  
      void replay(org.xml.sax.ContentHandler handler)  
      void startCDATA()  
      void startDocument()  
      void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)  
      void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qualifiedName, org.xml.sax.Attributes attributes)  
      void startEntity(java.lang.String name)  
      void startPrefixMapping(java.lang.String prefix, java.lang.String uri)  
      void writeExternal(java.io.ObjectOutput out)  
      • Methods inherited from class org.xml.sax.helpers.DefaultHandler

        error, fatalError, ignorableWhitespace, notationDecl, resolveEntity, setDocumentLocator, skippedEntity, unparsedEntityDecl, warning
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.xml.sax.DTDHandler

        notationDecl, unparsedEntityDecl
    • Constructor Detail

      • SAXEventRecorder

        public SAXEventRecorder()
    • Method Detail

      • replay

        public void replay(org.xml.sax.ContentHandler handler)
                    throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • processingInstruction

        public void processingInstruction(java.lang.String target,
                                          java.lang.String data)
                                   throws org.xml.sax.SAXException
        Specified by:
        processingInstruction in interface org.xml.sax.ContentHandler
        Overrides:
        processingInstruction in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startPrefixMapping

        public void startPrefixMapping(java.lang.String prefix,
                                       java.lang.String uri)
                                throws org.xml.sax.SAXException
        Specified by:
        startPrefixMapping in interface org.xml.sax.ContentHandler
        Overrides:
        startPrefixMapping in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • endPrefixMapping

        public void endPrefixMapping(java.lang.String prefix)
                              throws org.xml.sax.SAXException
        Specified by:
        endPrefixMapping in interface org.xml.sax.ContentHandler
        Overrides:
        endPrefixMapping in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startDocument

        public void startDocument()
                           throws org.xml.sax.SAXException
        Specified by:
        startDocument in interface org.xml.sax.ContentHandler
        Overrides:
        startDocument in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • endDocument

        public void endDocument()
                         throws org.xml.sax.SAXException
        Specified by:
        endDocument in interface org.xml.sax.ContentHandler
        Overrides:
        endDocument in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startElement

        public void startElement(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 java.lang.String qualifiedName,
                                 org.xml.sax.Attributes attributes)
                          throws org.xml.sax.SAXException
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • endElement

        public void endElement(java.lang.String namespaceURI,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • characters

        public void characters(char[] ch,
                               int start,
                               int end)
                        throws org.xml.sax.SAXException
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startDTD

        public void startDTD(java.lang.String name,
                             java.lang.String publicId,
                             java.lang.String systemId)
                      throws org.xml.sax.SAXException
        Specified by:
        startDTD in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • endDTD

        public void endDTD()
                    throws org.xml.sax.SAXException
        Specified by:
        endDTD in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • startEntity

        public void startEntity(java.lang.String name)
                         throws org.xml.sax.SAXException
        Specified by:
        startEntity in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • endEntity

        public void endEntity(java.lang.String name)
                       throws org.xml.sax.SAXException
        Specified by:
        endEntity in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • startCDATA

        public void startCDATA()
                        throws org.xml.sax.SAXException
        Specified by:
        startCDATA in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • endCDATA

        public void endCDATA()
                      throws org.xml.sax.SAXException
        Specified by:
        endCDATA in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • comment

        public void comment(char[] ch,
                            int start,
                            int end)
                     throws org.xml.sax.SAXException
        Specified by:
        comment in interface org.xml.sax.ext.LexicalHandler
        Throws:
        org.xml.sax.SAXException
      • elementDecl

        public void elementDecl(java.lang.String name,
                                java.lang.String model)
                         throws org.xml.sax.SAXException
        Specified by:
        elementDecl in interface org.xml.sax.ext.DeclHandler
        Throws:
        org.xml.sax.SAXException
      • attributeDecl

        public void attributeDecl(java.lang.String eName,
                                  java.lang.String aName,
                                  java.lang.String type,
                                  java.lang.String valueDefault,
                                  java.lang.String value)
                           throws org.xml.sax.SAXException
        Specified by:
        attributeDecl in interface org.xml.sax.ext.DeclHandler
        Throws:
        org.xml.sax.SAXException
      • internalEntityDecl

        public void internalEntityDecl(java.lang.String name,
                                       java.lang.String value)
                                throws org.xml.sax.SAXException
        Specified by:
        internalEntityDecl in interface org.xml.sax.ext.DeclHandler
        Throws:
        org.xml.sax.SAXException
      • externalEntityDecl

        public void externalEntityDecl(java.lang.String name,
                                       java.lang.String publicId,
                                       java.lang.String sysId)
                                throws org.xml.sax.SAXException
        Specified by:
        externalEntityDecl in interface org.xml.sax.ext.DeclHandler
        Throws:
        org.xml.sax.SAXException
      • writeExternal

        public void writeExternal(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal(java.io.ObjectInput in)
                          throws java.lang.ClassNotFoundException,
                                 java.io.IOException
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.lang.ClassNotFoundException
        java.io.IOException