diff options
Diffstat (limited to 'src/com/isode/stroke/elements/Stanza.java')
-rw-r--r-- | src/com/isode/stroke/elements/Stanza.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/com/isode/stroke/elements/Stanza.java b/src/com/isode/stroke/elements/Stanza.java index c542e8b..9a4b907 100644 --- a/src/com/isode/stroke/elements/Stanza.java +++ b/src/com/isode/stroke/elements/Stanza.java @@ -1,15 +1,13 @@ /* - * Copyright (c) 2010-2012, Isode Limited, London, England. - * All rights reserved. - */ -/* - * Copyright (c) 2010, Remko Tronçon. + * Copyright (c) 2010-2015, Isode Limited, London, England. * All rights reserved. */ package com.isode.stroke.elements; import com.isode.stroke.jid.JID; + +import java.util.Date; import java.util.Vector; /** @@ -48,7 +46,8 @@ public abstract class Stanza implements Element { * @param type payload type object instance, not null * @return payload of given type, can be null */ - public <T extends Payload> T getPayload(T type) { + @SuppressWarnings("unchecked") + public <T extends Payload> T getPayload(T type) { for (Payload payload : payloads_) { if (payload.getClass().isAssignableFrom(type.getClass())) { return (T)payload; @@ -63,7 +62,8 @@ public abstract class Stanza implements Element { * @param type payload type object instance, not null * @return list of payloads of given type, not null but can be empty */ - public <T extends Payload> Vector<T> getPayloads(T type) { + @SuppressWarnings("unchecked") + 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())) { @@ -168,4 +168,8 @@ public abstract class Stanza implements Element { " id=\"" + id_ + "\""; } + public Date getTimestamp() { + Delay delay = getPayload(new Delay()); + return delay != null ? delay.getStamp() : null; + } } |