diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-07-01 09:19:49 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-07-01 09:19:49 (GMT) |
commit | 2da71a8a85486a494343f1662d64fb5ae5a2a44e (patch) | |
tree | 23992f9f2a00bac23b345e5c2cc9c1194efc25be /src/com/isode/stroke/elements/Stanza.java | |
download | stroke-2da71a8a85486a494343f1662d64fb5ae5a2a44e.zip stroke-2da71a8a85486a494343f1662d64fb5ae5a2a44e.tar.bz2 |
Initial import
Diffstat (limited to 'src/com/isode/stroke/elements/Stanza.java')
-rw-r--r-- | src/com/isode/stroke/elements/Stanza.java | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/com/isode/stroke/elements/Stanza.java b/src/com/isode/stroke/elements/Stanza.java new file mode 100644 index 0000000..ac4f06f --- /dev/null +++ b/src/com/isode/stroke/elements/Stanza.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2010, Isode Limited, London, England. + * All rights reserved. + */ +/* + * Copyright (c) 2010, Remko Tron¨on. + * All rights reserved. + */ + +package com.isode.stroke.elements; + +import com.isode.stroke.jid.JID; +import java.util.Vector; + +/** + * Basic XMPP stanza. + */ +public class Stanza implements Element { + private String id_; + private JID from_; + private JID to_; + private Vector<Payload> payloads_ = new Vector<Payload>(); + + + public <T extends Payload> T getPayload(T type) { + for (Payload payload : payloads_) { + if (payload.getClass().isAssignableFrom(type.getClass())) { + return (T)payload; + } + } + return null; + } + + public <T extends Payload> Vector<T> getPayloads(T type) { + Vector<T> results = new Vector<T>(); + for (Payload payload : payloads_) { + if (payload.getClass().isAssignableFrom(type.getClass())) { + results.add((T)payload); + } + } + return results; + } + + public Vector<Payload> getPayloads() { + return payloads_; + } + + public void addPayload(Payload payload) { + payloads_.add(payload); + } + + public void updatePayload(Payload payload) { + for (int i = 0; i < payloads_.size(); i++) { + if (payloads_.get(i).getClass() == payload.getClass()) { + payloads_.set(i, payload); + return; + } + } + payloads_.add(payload); + } + + public JID getFrom() { + return from_; + } + + public void setFrom(JID from) { + from_ = from; + } + + public JID getTo() { + return to_; + } + + public void setTo(JID to) { + to_ = to; + } + + public String getID() { + return id_; + } + + public void setID(String id) { + id_ = id; + } + +} |