summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/parser/payloadparsers/MUCDestroyPayloadParser.java')
-rw-r--r--src/com/isode/stroke/parser/payloadparsers/MUCDestroyPayloadParser.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/com/isode/stroke/parser/payloadparsers/MUCDestroyPayloadParser.java b/src/com/isode/stroke/parser/payloadparsers/MUCDestroyPayloadParser.java
new file mode 100644
index 0000000..f6b7790
--- /dev/null
+++ b/src/com/isode/stroke/parser/payloadparsers/MUCDestroyPayloadParser.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2012, Isode Limited, London, England.
+ * All rights reserved.
+ */
+/*
+ * Copyright (c) 2011, Kevin Smith
+ * All rights reserved.
+ */
+package com.isode.stroke.parser.payloadparsers;
+
+import com.isode.stroke.elements.MUCDestroyPayload;
+import com.isode.stroke.jid.JID;
+import com.isode.stroke.parser.GenericPayloadTreeParser;
+import com.isode.stroke.parser.tree.ParserElement;
+
+/**
+ * Class representing a parser for MUC Destroy payload
+ *
+ */
+public class MUCDestroyPayloadParser extends GenericPayloadTreeParser<MUCDestroyPayload> {
+
+ /**
+ * Create the parser
+ */
+ public MUCDestroyPayloadParser() {
+ super(new MUCDestroyPayload());
+ }
+
+ @Override
+ public void handleTree(ParserElement root) {
+ String ns = root.getNamespace();
+ String jid = root.getAttributes().getAttribute("jid");
+ if (jid != null && !jid.isEmpty()) {
+ getPayloadInternal().setNewVenue(new JID(jid));
+ }
+ getPayloadInternal().setReason(root.getChild("reason", ns).getText());
+ }
+}