Package org.jxmpp.xml.splitter
Class XmlSplitter
- java.lang.Object
-
- java.io.Writer
-
- org.jxmpp.xml.splitter.XmlSplitter
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.Appendable,java.lang.AutoCloseable
- Direct Known Subclasses:
XmppXmlSplitter
public class XmlSplitter extends java.io.WriterA XML splitter capable of splitting XML into top-level elements.Note that this class does not yet support the feature set of XML. Only the required features for XMPP are supported. XML comments and processing instructions are not supported.
-
-
Field Summary
Fields Modifier and Type Field Description protected CompleteElementCallbackcompleteElementCallback
-
Constructor Summary
Constructors Constructor Description XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback)Construct a new XML splitter.XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback, DeclarationCallback declarationCallback, ProcessingInstructionCallback processingInstructionCallback)Construct a new XML splitter.XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback, DeclarationCallback declarationCallback, ProcessingInstructionCallback processingInstructionCallback, XmlPrinter xmlPrinter)Construct a new XML splitter.XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback, XmlPrinter xmlPrinter)Construct a new XML splitter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()intgetCurrentSplittedPartSize()Get the size in bytes of the splitted part currently being processed.protected voidnewSplittedPart()protected voidonEndTag(java.lang.String qName)protected voidonNextChar()protected voidonStartTag(java.lang.String prefix, java.lang.String localpart, java.util.Map<java.lang.String,java.lang.String> attributes)voidwrite(char[] cbuf, int off, int len)
-
-
-
Field Detail
-
completeElementCallback
protected final CompleteElementCallback completeElementCallback
-
-
Constructor Detail
-
XmlSplitter
public XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback, DeclarationCallback declarationCallback, ProcessingInstructionCallback processingInstructionCallback)Construct a new XML splitter.- Parameters:
bufferSize- the initial size of the buffer.completeElementCallback- the callback invoked once a complete element has been processed.declarationCallback- a optional callback for the XML declaration.processingInstructionCallback- a optional callback for Processing Instructions.
-
XmlSplitter
public XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback, XmlPrinter xmlPrinter)Construct a new XML splitter.- Parameters:
bufferSize- the initial size of the buffer.completeElementCallback- the callback invoked once a complete element has been processed.xmlPrinter- an optionalXmlPrinter.
-
XmlSplitter
public XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback)Construct a new XML splitter.- Parameters:
bufferSize- the initial size of the buffer.completeElementCallback- the callback invoked once a complete element has been processed.
-
XmlSplitter
public XmlSplitter(int bufferSize, CompleteElementCallback completeElementCallback, DeclarationCallback declarationCallback, ProcessingInstructionCallback processingInstructionCallback, XmlPrinter xmlPrinter)Construct a new XML splitter.- Parameters:
bufferSize- the initial size of the buffer.completeElementCallback- the callback invoked once a complete element has been processed.declarationCallback- a optional callback for the XML declaration.processingInstructionCallback- a optional callback for Processing Instructions.xmlPrinter- an optionalXmlPrinter.
-
-
Method Detail
-
write
public void write(char[] cbuf, int off, int len) throws java.io.IOException- Specified by:
writein classjava.io.Writer- Throws:
java.io.IOException
-
flush
public void flush()
- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin classjava.io.Writer
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classjava.io.Writer
-
getCurrentSplittedPartSize
public final int getCurrentSplittedPartSize()
Get the size in bytes of the splitted part currently being processed.- Returns:
- the size of the current splitted part in chars.
-
onNextChar
protected void onNextChar() throws java.io.IOException- Throws:
java.io.IOException
-
onStartTag
protected void onStartTag(java.lang.String prefix, java.lang.String localpart, java.util.Map<java.lang.String,java.lang.String> attributes)
-
onEndTag
protected void onEndTag(java.lang.String qName)
-
newSplittedPart
protected final void newSplittedPart()
-
-