diff options
Diffstat (limited to 'src/com/isode/stroke/elements/Message.java')
-rw-r--r-- | src/com/isode/stroke/elements/Message.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/com/isode/stroke/elements/Message.java b/src/com/isode/stroke/elements/Message.java new file mode 100644 index 0000000..6820e6f --- /dev/null +++ b/src/com/isode/stroke/elements/Message.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2010, Isode Limited, London, England. + * All rights reserved. + */ +/* + * Copyright (c) 2010, Remko Tron¨on. + * All rights reserved. + */ +package com.isode.stroke.elements; + +public class Message extends Stanza { + + Type type_ = Type.Chat; + + public enum Type { + + Normal, Chat, Error, Groupchat, Headline + }; + + public String getSubject() { + Subject subject = getPayload(new Subject()); + if (subject != null) { + return subject.getText(); + } + return ""; + } + + public void setSubject(String subject) { + updatePayload(new Subject(subject)); + } + + public String getBody() { + Body body = getPayload(new Body()); + if (body != null) { + return body.getText(); + } + return ""; + } + + public void setBody(String body) { + updatePayload(new Body(body)); + } + + public boolean isError() { + ErrorPayload error = getPayload(new ErrorPayload()); + return getType().equals(Type.Error) || error != null; + } + + public Type getType() { + return type_; + } + + public void setType(Type type) { + type_ = type; + } +} |