1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2025-09-10 18:59:41 +02:00

Improve MUC's Destroy element class

- Made jid of type BareJid
- Made it implement TypedCloneable
- Made it implement Serializable
- Made it immutable

Also update its parsing code. And add some convenience methods to
ParserUtils.
This commit is contained in:
Florian Schmaus 2015-03-11 21:31:37 +01:00
parent 369878b6d9
commit 516e397679
4 changed files with 66 additions and 39 deletions

View file

@ -19,6 +19,7 @@ package org.jivesoftware.smack.util;
import java.io.IOException;
import java.util.Locale;
import org.jxmpp.jid.BareJid;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.jid.parts.Resourcepart;
@ -27,6 +28,12 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class ParserUtils {
/**
* The constant String "jid".
*/
public static final String JID = "jid";
public static void assertAtStartTag(XmlPullParser parser) throws XmlPullParserException {
assert(parser.getEventType() == XmlPullParser.START_TAG);
}
@ -44,7 +51,7 @@ public class ParserUtils {
}
public static Jid getJidAttribute(XmlPullParser parser) throws XmppStringprepException {
return getJidAttribute(parser, "jid");
return getJidAttribute(parser, JID);
}
public static Jid getJidAttribute(XmlPullParser parser, String name) throws XmppStringprepException {
@ -55,6 +62,18 @@ public class ParserUtils {
return JidCreate.from(jidString);
}
public static BareJid getBareJidAttribute(XmlPullParser parser) throws XmppStringprepException {
return getBareJidAttribute(parser, JID);
}
public static BareJid getBareJidAttribute(XmlPullParser parser, String name) throws XmppStringprepException {
final String jidString = parser.getAttributeValue("", name);
if (jidString == null) {
return null;
}
return JidCreate.bareFrom(jidString);
}
public static Resourcepart getResourcepartAttribute(XmlPullParser parser, String name) throws XmppStringprepException {
final String resourcepartString = parser.getAttributeValue("", name);
if (resourcepartString == null) {