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