Class XMPPPacketReader
- java.lang.Object
-
- org.dom4j.io.XMPPPacketReader
-
public class XMPPPacketReader extends Object
XMPPPacketReaderis a Reader of DOM4J documents that uses the fast XML Pull Parser 3.x. It is very fast for use in SOAP style environments.- Author:
- Pelle Braendgaard, James Strachan
-
-
Field Summary
Fields Modifier and Type Field Description static Collection<String>IGNORED_NAMESPACE_ON_STANZAStream of various endpoints (eg: s2s, c2s) use different default namespaces.
-
Constructor Summary
Constructors Constructor Description XMPPPacketReader()XMPPPacketReader(org.dom4j.DocumentFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddHandler(String path, org.dom4j.ElementHandler handler)Adds theElementHandlerto be called when the specified path is encounted.protected ReadercreateReader(InputStream in)Factory method to create a Reader from the given InputStream.protected org.dom4j.io.DispatchHandlergetDispatchHandler()org.dom4j.DocumentFactorygetDocumentFactory()longgetLastActive()Returns the last time a full Document was read or a heartbeat was received.org.xmlpull.v1.XmlPullParserFactorygetXPPFactory()MXParsergetXPPParser()org.dom4j.DocumentparseDocument()org.dom4j.DocumentparseDocument(String xml)org.dom4j.Documentread(char[] text)Reads a Document from the given array of charactersorg.dom4j.Documentread(File file)Reads a Document from the givenFileorg.dom4j.Documentread(InputStream in)Reads a Document from the given streamorg.dom4j.Documentread(InputStream in, String systemID)Reads a Document from the given streamorg.dom4j.Documentread(Reader reader)Reads a Document from the givenReaderorg.dom4j.Documentread(Reader reader, String systemID)Reads a Document from the givenReaderorg.dom4j.Documentread(String systemID)Reads a Document from the given URL or filename.org.dom4j.Documentread(String charSet, InputStream in)Reads a Document from the given streamorg.dom4j.Documentread(URL url)Reads a Document from the givenURLvoidremoveHandler(String path)Removes theElementHandlerfrom the event based processor, for the specified path.voidsetDefaultHandler(org.dom4j.ElementHandler handler)When multipleElementHandlerinstances have been registered, this will set a defaultElementHandlerto be called for any path which does NOT have a handler registered.protected voidsetDispatchHandler(org.dom4j.io.DispatchHandler dispatchHandler)voidsetDocumentFactory(org.dom4j.DocumentFactory factory)This sets theDocumentFactoryused to create new documents.voidsetXPPFactory(org.xmlpull.v1.XmlPullParserFactory xppFactory)
-
-
-
Field Detail
-
IGNORED_NAMESPACE_ON_STANZA
public static final Collection<String> IGNORED_NAMESPACE_ON_STANZA
Stream of various endpoints (eg: s2s, c2s) use different default namespaces. To be able to use a stanza that's parsed on one type of endpoint in the context of another endpoint, we explicitly ignore these namespaced. This allows us to forward, for instance, a stanza received via C2S (which has the "jabber:client" default namespace) on a S2S stream (which has the "jabber:server" default namespace).- See Also:
- RFC 6120, 4.8.3. XMPP Content Namespaces
-
-
Method Detail
-
read
public org.dom4j.Document read(File file) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given
File- Parameters:
file- is theFileto read from.- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(URL url) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given
URL- Parameters:
url-URLto read from.- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(String systemID) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given URL or filename.
If the systemID contains a
':'character then it is assumed to be a URL otherwise its assumed to be a file name. If you want finer grained control over this mechansim then please explicitly pass in either aURLor aFileinstance instead of aStringto denote the source of the document.- Parameters:
systemID- is a URL for a document or a file name.- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(InputStream in) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given stream
- Parameters:
in-InputStreamto read from.- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(String charSet, InputStream in) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given stream
- Parameters:
charSet- the charSet that the input is encoded inin-InputStreamto read from.- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(Reader reader) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given
Reader- Parameters:
reader- is the reader for the input- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(char[] text) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserExceptionReads a Document from the given array of characters
- Parameters:
text- is the text to parse- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(InputStream in, String systemID) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given stream
- Parameters:
in-InputStreamto read from.systemID- is the URI for the input- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
read
public org.dom4j.Document read(Reader reader, String systemID) throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException
Reads a Document from the given
Reader- Parameters:
reader- is the reader for the inputsystemID- is the URI for the input- Returns:
- the newly created Document instance
- Throws:
org.dom4j.DocumentException- if an error occurs during parsing.IOException- if an error occurs during readingorg.xmlpull.v1.XmlPullParserException- if an error occurs creating a pull parser
-
getXPPParser
public MXParser getXPPParser() throws org.xmlpull.v1.XmlPullParserException
- Throws:
org.xmlpull.v1.XmlPullParserException
-
getXPPFactory
public org.xmlpull.v1.XmlPullParserFactory getXPPFactory() throws org.xmlpull.v1.XmlPullParserException- Throws:
org.xmlpull.v1.XmlPullParserException
-
setXPPFactory
public void setXPPFactory(org.xmlpull.v1.XmlPullParserFactory xppFactory)
-
getDocumentFactory
public org.dom4j.DocumentFactory getDocumentFactory()
- Returns:
- the
DocumentFactoryused to create document objects
-
setDocumentFactory
public void setDocumentFactory(org.dom4j.DocumentFactory factory)
This sets the
DocumentFactoryused to create new documents. This method allows the building of custom DOM4J tree objects to be implemented easily using a custom derivation ofDocumentFactory- Parameters:
factory-DocumentFactoryused to create DOM4J objects
-
addHandler
public void addHandler(String path, org.dom4j.ElementHandler handler)
Adds theElementHandlerto be called when the specified path is encounted.- Parameters:
path- is the path to be handledhandler- is theElementHandlerto be called by the event based processor.
-
removeHandler
public void removeHandler(String path)
Removes theElementHandlerfrom the event based processor, for the specified path.- Parameters:
path- is the path to remove theElementHandlerfor.
-
setDefaultHandler
public void setDefaultHandler(org.dom4j.ElementHandler handler)
When multipleElementHandlerinstances have been registered, this will set a defaultElementHandlerto be called for any path which does NOT have a handler registered.- Parameters:
handler- is theElementHandlerto be called by the event based processor.
-
getLastActive
public long getLastActive()
Returns the last time a full Document was read or a heartbeat was received. Hearbeats are represented as whitespaces or \n received while a Document is not being parsed.- Returns:
- the time in milliseconds when the last document or heartbeat was received.
-
parseDocument
public org.dom4j.Document parseDocument(String xml) throws org.dom4j.DocumentException
- Throws:
org.dom4j.DocumentException
-
parseDocument
public org.dom4j.Document parseDocument() throws org.dom4j.DocumentException, IOException, org.xmlpull.v1.XmlPullParserException- Throws:
org.dom4j.DocumentExceptionIOExceptionorg.xmlpull.v1.XmlPullParserException
-
getDispatchHandler
protected org.dom4j.io.DispatchHandler getDispatchHandler()
-
setDispatchHandler
protected void setDispatchHandler(org.dom4j.io.DispatchHandler dispatchHandler)
-
createReader
protected Reader createReader(InputStream in) throws IOException
Factory method to create a Reader from the given InputStream.- Parameters:
in- the input stream- Returns:
- the reader
- Throws:
IOException- never
-
-