Class SAXEventRecorder
java.lang.Object
org.xml.sax.helpers.DefaultHandler
org.dom4j.io.SAXEventRecorder
- All Implemented Interfaces:
Externalizable, Serializable, ContentHandler, DTDHandler, EntityResolver, ErrorHandler, DeclHandler, LexicalHandler
public class SAXEventRecorder
extends DefaultHandler
implements LexicalHandler, DeclHandler, DTDHandler, 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();
- Author:
- Todd Wolff (Bluestem Software)
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidcharacters(char[] ch, int start, int end) voidcomment(char[] ch, int start, int end) voidelementDecl(String name, String model) voidendCDATA()voidvoidendDTD()voidendElement(String namespaceURI, String localName, String qName) voidvoidendPrefixMapping(String prefix) voidexternalEntityDecl(String name, String publicId, String sysId) voidinternalEntityDecl(String name, String value) voidprocessingInstruction(String target, String data) voidvoidreplay(ContentHandler handler) voidvoidvoidvoidstartElement(String namespaceURI, String localName, String qualifiedName, Attributes attributes) voidstartEntity(String name) voidstartPrefixMapping(String prefix, String uri) voidMethods inherited from class DefaultHandler
error, fatalError, ignorableWhitespace, notationDecl, resolveEntity, setDocumentLocator, skippedEntity, unparsedEntityDecl, warningMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ContentHandler
declarationMethods inherited from interface DTDHandler
notationDecl, unparsedEntityDecl
-
Field Details
-
serialVersionUID
public static final long serialVersionUID- See Also:
-
-
Constructor Details
-
SAXEventRecorder
public SAXEventRecorder()
-
-
Method Details
-
replay
- Throws:
SAXException
-
processingInstruction
- Specified by:
processingInstructionin interfaceContentHandler- Overrides:
processingInstructionin classDefaultHandler- Throws:
SAXException
-
startPrefixMapping
- Specified by:
startPrefixMappingin interfaceContentHandler- Overrides:
startPrefixMappingin classDefaultHandler- Throws:
SAXException
-
endPrefixMapping
- Specified by:
endPrefixMappingin interfaceContentHandler- Overrides:
endPrefixMappingin classDefaultHandler- Throws:
SAXException
-
startDocument
- Specified by:
startDocumentin interfaceContentHandler- Overrides:
startDocumentin classDefaultHandler- Throws:
SAXException
-
endDocument
- Specified by:
endDocumentin interfaceContentHandler- Overrides:
endDocumentin classDefaultHandler- Throws:
SAXException
-
startElement
public void startElement(String namespaceURI, String localName, String qualifiedName, Attributes attributes) throws SAXException - Specified by:
startElementin interfaceContentHandler- Overrides:
startElementin classDefaultHandler- Throws:
SAXException
-
endElement
- Specified by:
endElementin interfaceContentHandler- Overrides:
endElementin classDefaultHandler- Throws:
SAXException
-
characters
- Specified by:
charactersin interfaceContentHandler- Overrides:
charactersin classDefaultHandler- Throws:
SAXException
-
startDTD
- Specified by:
startDTDin interfaceLexicalHandler- Throws:
SAXException
-
endDTD
- Specified by:
endDTDin interfaceLexicalHandler- Throws:
SAXException
-
startEntity
- Specified by:
startEntityin interfaceLexicalHandler- Throws:
SAXException
-
endEntity
- Specified by:
endEntityin interfaceLexicalHandler- Throws:
SAXException
-
startCDATA
- Specified by:
startCDATAin interfaceLexicalHandler- Throws:
SAXException
-
endCDATA
- Specified by:
endCDATAin interfaceLexicalHandler- Throws:
SAXException
-
comment
- Specified by:
commentin interfaceLexicalHandler- Throws:
SAXException
-
elementDecl
- Specified by:
elementDeclin interfaceDeclHandler- Throws:
SAXException
-
attributeDecl
public void attributeDecl(String eName, String aName, String type, String valueDefault, String value) throws SAXException - Specified by:
attributeDeclin interfaceDeclHandler- Throws:
SAXException
-
internalEntityDecl
- Specified by:
internalEntityDeclin interfaceDeclHandler- Throws:
SAXException
-
externalEntityDecl
- Specified by:
externalEntityDeclin interfaceDeclHandler- Throws:
SAXException
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Throws:
ClassNotFoundExceptionIOException
-