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();
  
   
  
 | Modifier and Type | Field and Description | 
|---|---|
static long | 
serialVersionUID  | 
| Constructor and Description | 
|---|
SAXEventRecorder()  | 
| Modifier and Type | Method and 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)  | 
error, fatalError, ignorableWhitespace, notationDecl, resolveEntity, setDocumentLocator, skippedEntity, unparsedEntityDecl, warningpublic static final long serialVersionUID
public void replay(org.xml.sax.ContentHandler handler)
            throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionpublic void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
processingInstruction in interface org.xml.sax.ContentHandlerprocessingInstruction in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
startPrefixMapping in interface org.xml.sax.ContentHandlerstartPrefixMapping in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
endPrefixMapping in interface org.xml.sax.ContentHandlerendPrefixMapping in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startDocument()
                   throws org.xml.sax.SAXException
startDocument in interface org.xml.sax.ContentHandlerstartDocument in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void endDocument()
                 throws org.xml.sax.SAXException
endDocument in interface org.xml.sax.ContentHandlerendDocument in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qualifiedName,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
startElement in interface org.xml.sax.ContentHandlerstartElement in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void endElement(java.lang.String namespaceURI,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
endElement in interface org.xml.sax.ContentHandlerendElement in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void characters(char[] ch,
                       int start,
                       int end)
                throws org.xml.sax.SAXException
characters in interface org.xml.sax.ContentHandlercharacters in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
startDTD in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void endDTD()
            throws org.xml.sax.SAXException
endDTD in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
startEntity in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
endEntity in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void startCDATA()
                throws org.xml.sax.SAXException
startCDATA in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void endCDATA()
              throws org.xml.sax.SAXException
endCDATA in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void comment(char[] ch,
                    int start,
                    int end)
             throws org.xml.sax.SAXException
comment in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void elementDecl(java.lang.String name,
                        java.lang.String model)
                 throws org.xml.sax.SAXException
elementDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic 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
attributeDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic void internalEntityDecl(java.lang.String name,
                               java.lang.String value)
                        throws org.xml.sax.SAXException
internalEntityDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic void externalEntityDecl(java.lang.String name,
                               java.lang.String publicId,
                               java.lang.String sysId)
                        throws org.xml.sax.SAXException
externalEntityDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOExceptionpublic void readExternal(java.io.ObjectInput in)
                  throws java.lang.ClassNotFoundException,
                         java.io.IOException
readExternal in interface java.io.Externalizablejava.lang.ClassNotFoundExceptionjava.io.IOException