public class PacketParserUtils
extends java.lang.Object
| Constructor and Description |
|---|
PacketParserUtils() |
| Modifier and Type | Method and Description |
|---|---|
static void |
addExtensionElement(java.util.Collection<ExtensionElement> collection,
org.jivesoftware.smack.xml.XmlPullParser parser,
java.lang.String elementName,
java.lang.String namespace,
XmlEnvironment outerXmlEnvironment) |
static void |
addExtensionElement(java.util.Collection<ExtensionElement> collection,
org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment) |
static void |
addExtensionElement(Stanza packet,
org.jivesoftware.smack.xml.XmlPullParser parser,
java.lang.String elementName,
java.lang.String namespace,
XmlEnvironment outerXmlEnvironment) |
static void |
addExtensionElement(Stanza packet,
org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment) |
static org.jivesoftware.smack.xml.XmlPullParser |
getParserFor(java.io.InputStream inputStream) |
static org.jivesoftware.smack.xml.XmlPullParser |
getParserFor(java.io.Reader reader) |
static org.jivesoftware.smack.xml.XmlPullParser |
getParserFor(java.lang.String stanza) |
static Compress.Feature |
parseCompressionFeature(org.jivesoftware.smack.xml.XmlPullParser parser)
Parse the Compression Feature reported from the server.
|
static java.lang.CharSequence |
parseContentDepth(org.jivesoftware.smack.xml.XmlPullParser parser,
int depth) |
static java.lang.CharSequence |
parseContentDepth(org.jivesoftware.smack.xml.XmlPullParser parser,
int depth,
boolean fullNamespaces)
Returns the content from the current position of the parser up to the closing tag of the
given depth.
|
static java.util.Map<java.lang.String,java.lang.String> |
parseDescriptiveTexts(org.jivesoftware.smack.xml.XmlPullParser parser,
java.util.Map<java.lang.String,java.lang.String> descriptiveTexts) |
static java.lang.CharSequence |
parseElement(org.jivesoftware.smack.xml.XmlPullParser parser)
Returns the current element as string.
|
static java.lang.CharSequence |
parseElement(org.jivesoftware.smack.xml.XmlPullParser parser,
boolean fullNamespaces) |
static java.lang.String |
parseElementText(org.jivesoftware.smack.xml.XmlPullParser parser)
Returns the textual content of an element as String.
|
static StanzaError.Builder |
parseError(org.jivesoftware.smack.xml.XmlPullParser parser) |
static StanzaError.Builder |
parseError(org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment)
Parses error sub-packets.
|
static ExtensionElement |
parseExtensionElement(java.lang.String elementName,
java.lang.String namespace,
org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment)
Parses an extension element.
|
static IQ |
parseIQ(org.jivesoftware.smack.xml.XmlPullParser parser) |
static IQ |
parseIQ(org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment)
Parses an IQ packet.
|
static java.util.Collection<java.lang.String> |
parseMechanisms(org.jivesoftware.smack.xml.XmlPullParser parser)
Parse the available SASL mechanisms reported from the server.
|
static Message |
parseMessage(org.jivesoftware.smack.xml.XmlPullParser parser) |
static Message |
parseMessage(org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment)
Parses a message packet.
|
static Presence |
parsePresence(org.jivesoftware.smack.xml.XmlPullParser parser) |
static Presence |
parsePresence(org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment)
Parses a presence packet.
|
static SaslStreamElements.SASLFailure |
parseSASLFailure(org.jivesoftware.smack.xml.XmlPullParser parser)
Parses SASL authentication error packets.
|
static Session.Feature |
parseSessionFeature(org.jivesoftware.smack.xml.XmlPullParser parser) |
static <S extends Stanza> |
parseStanza(java.lang.String stanza) |
static Stanza |
parseStanza(org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment)
Tries to parse and return either a Message, IQ or Presence stanza.
|
static StartTls |
parseStartTlsFeature(org.jivesoftware.smack.xml.XmlPullParser parser) |
static StreamError |
parseStreamError(org.jivesoftware.smack.xml.XmlPullParser parser) |
static StreamError |
parseStreamError(org.jivesoftware.smack.xml.XmlPullParser parser,
XmlEnvironment outerXmlEnvironment)
Parses stream error packets.
|
public static org.jivesoftware.smack.xml.XmlPullParser getParserFor(java.lang.String stanza)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static org.jivesoftware.smack.xml.XmlPullParser getParserFor(java.io.InputStream inputStream)
throws org.jivesoftware.smack.xml.XmlPullParserException
org.jivesoftware.smack.xml.XmlPullParserExceptionpublic static org.jivesoftware.smack.xml.XmlPullParser getParserFor(java.io.Reader reader)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static <S extends Stanza> S parseStanza(java.lang.String stanza) throws org.jivesoftware.smack.xml.XmlPullParserException, SmackParsingException, java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionSmackParsingExceptionjava.io.IOExceptionpublic static Stanza parseStanza(org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, SmackParsingException, java.io.IOException
parser - outerXmlEnvironment - the outer XML environment (optional).org.jivesoftware.smack.xml.XmlPullParserExceptionSmackParsingExceptionjava.io.IOExceptionpublic static Message parseMessage(org.jivesoftware.smack.xml.XmlPullParser parser) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static Message parseMessage(org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
parser - the XML parser, positioned at the start of a message packet.outerXmlEnvironment - the outer XML environment (optional).org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static java.lang.String parseElementText(org.jivesoftware.smack.xml.XmlPullParser parser)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
The parser must be positioned on a START_ELEMENT of an element which MUST NOT contain Mixed Content (as defined in XML 3.2.2), or else an XmlPullParserException will be thrown.
This method is used for the parts where the XMPP specification requires elements that contain only text or are the empty element.parser - org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static java.lang.CharSequence parseElement(org.jivesoftware.smack.xml.XmlPullParser parser)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
The parser must be positioned on START_ELEMENT.
Note that only the outermost namespace attributes ("xmlns") will be returned, not nested ones.parser - the XML pull parserorg.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static java.lang.CharSequence parseElement(org.jivesoftware.smack.xml.XmlPullParser parser,
boolean fullNamespaces)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static java.lang.CharSequence parseContentDepth(org.jivesoftware.smack.xml.XmlPullParser parser,
int depth)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static java.lang.CharSequence parseContentDepth(org.jivesoftware.smack.xml.XmlPullParser parser,
int depth,
boolean fullNamespaces)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
fullNamespaces is false. If it is true, then namespaces of
parent elements will be added to child elements that don't define a different namespace.
This method is able to parse the content with MX- and KXmlParser. KXmlParser does not support
xml-roundtrip. i.e. return a String on getText() on START_ELEMENT and END_ELEMENT. We check for the
XML_ROUNDTRIP feature. If it's not found we are required to work around this limitation, which
results in only partial support for XML namespaces ("xmlns"): Only the outermost namespace of
elements will be included in the resulting String, if fullNamespaces is set to false.
In particular Android's XmlPullParser does not support XML_ROUNDTRIP.
parser - depth - fullNamespaces - org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static Presence parsePresence(org.jivesoftware.smack.xml.XmlPullParser parser) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static Presence parsePresence(org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
parser - the XML parser, positioned at the start of a presence packet.outerXmlEnvironment - the outer XML environment (optional).java.io.IOExceptionorg.jivesoftware.smack.xml.XmlPullParserExceptionSmackParsingExceptionpublic static IQ parseIQ(org.jivesoftware.smack.xml.XmlPullParser parser) throws java.lang.Exception
java.lang.Exceptionpublic static IQ parseIQ(org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, org.jxmpp.stringprep.XmppStringprepException, java.io.IOException, SmackParsingException
parser - the XML parser, positioned at the start of an IQ packet.outerXmlEnvironment - the outer XML environment (optional).org.jivesoftware.smack.xml.XmlPullParserExceptionorg.jxmpp.stringprep.XmppStringprepExceptionjava.io.IOExceptionSmackParsingExceptionpublic static java.util.Collection<java.lang.String> parseMechanisms(org.jivesoftware.smack.xml.XmlPullParser parser)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
parser - the XML parser, positioned at the start of the mechanisms stanza.java.io.IOExceptionorg.jivesoftware.smack.xml.XmlPullParserExceptionpublic static Compress.Feature parseCompressionFeature(org.jivesoftware.smack.xml.XmlPullParser parser) throws java.io.IOException, org.jivesoftware.smack.xml.XmlPullParserException
parser - the XML parser, positioned at the start of the compression stanza.java.io.IOExceptionorg.jivesoftware.smack.xml.XmlPullParserException - if an exception occurs while parsing the stanza.public static java.util.Map<java.lang.String,java.lang.String> parseDescriptiveTexts(org.jivesoftware.smack.xml.XmlPullParser parser,
java.util.Map<java.lang.String,java.lang.String> descriptiveTexts)
throws org.jivesoftware.smack.xml.XmlPullParserException,
java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static SaslStreamElements.SASLFailure parseSASLFailure(org.jivesoftware.smack.xml.XmlPullParser parser) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException
parser - the XML parser.java.io.IOExceptionorg.jivesoftware.smack.xml.XmlPullParserExceptionpublic static StreamError parseStreamError(org.jivesoftware.smack.xml.XmlPullParser parser) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static StreamError parseStreamError(org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
parser - the XML parser.outerXmlEnvironment - the outer XML environment (optional).java.io.IOExceptionorg.jivesoftware.smack.xml.XmlPullParserExceptionSmackParsingExceptionpublic static StanzaError.Builder parseError(org.jivesoftware.smack.xml.XmlPullParser parser) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static StanzaError.Builder parseError(org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
parser - the XML parser.outerXmlEnvironment - the outer XML environment (optional).java.io.IOExceptionorg.jivesoftware.smack.xml.XmlPullParserExceptionSmackParsingExceptionpublic static ExtensionElement parseExtensionElement(java.lang.String elementName, java.lang.String namespace, org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
elementName - the XML element name of the extension element.namespace - the XML namespace of the stanza extension.parser - the XML parser, positioned at the starting element of the extension.outerXmlEnvironment - the outer XML environment (optional).org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static StartTls parseStartTlsFeature(org.jivesoftware.smack.xml.XmlPullParser parser) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static Session.Feature parseSessionFeature(org.jivesoftware.smack.xml.XmlPullParser parser) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionpublic static void addExtensionElement(Stanza packet, org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static void addExtensionElement(Stanza packet, org.jivesoftware.smack.xml.XmlPullParser parser, java.lang.String elementName, java.lang.String namespace, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static void addExtensionElement(java.util.Collection<ExtensionElement> collection, org.jivesoftware.smack.xml.XmlPullParser parser, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingExceptionpublic static void addExtensionElement(java.util.Collection<ExtensionElement> collection, org.jivesoftware.smack.xml.XmlPullParser parser, java.lang.String elementName, java.lang.String namespace, XmlEnvironment outerXmlEnvironment) throws org.jivesoftware.smack.xml.XmlPullParserException, java.io.IOException, SmackParsingException
org.jivesoftware.smack.xml.XmlPullParserExceptionjava.io.IOExceptionSmackParsingException