diff options
author | Christian Schneppe <christian@pix-art.de> | 2016-07-29 19:52:37 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-07-29 19:52:37 +0200 |
commit | 94933e21cd08c53a23e5ec6c12bc1dc383b1f3ce (patch) | |
tree | 4fa096547d0917f603252c9a279e4208ba4ef711 /src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java | |
parent | 50889004f3c679387d95ba9c49a53a8f882ba33c (diff) |
changed package id inside manifest and project
Diffstat (limited to 'src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java b/src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java new file mode 100644 index 000000000..b0a22c314 --- /dev/null +++ b/src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java @@ -0,0 +1,69 @@ +package de.pixart.messenger.xmpp.stanzas; + +import de.pixart.messenger.xml.Element; + +public class IqPacket extends AbstractAcknowledgeableStanza { + + public enum TYPE { + ERROR, + SET, + RESULT, + GET, + INVALID, + TIMEOUT + } + + public IqPacket(final TYPE type) { + super("iq"); + if (type != TYPE.INVALID) { + this.setAttribute("type", type.toString().toLowerCase()); + } + } + + public IqPacket() { + super("iq"); + } + + public Element query() { + Element query = findChild("query"); + if (query == null) { + query = addChild("query"); + } + return query; + } + + public Element query(final String xmlns) { + final Element query = query(); + query.setAttribute("xmlns", xmlns); + return query(); + } + + public TYPE getType() { + final String type = getAttribute("type"); + if (type == null) { + return TYPE.INVALID; + } + switch (type) { + case "error": + return TYPE.ERROR; + case "result": + return TYPE.RESULT; + case "set": + return TYPE.SET; + case "get": + return TYPE.GET; + case "timeout": + return TYPE.TIMEOUT; + default: + return TYPE.INVALID; + } + } + + public IqPacket generateResponse(final TYPE type) { + final IqPacket packet = new IqPacket(type); + packet.setTo(this.getFrom()); + packet.setId(this.getId()); + return packet; + } + +} |