summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/elements/Message.java')
-rw-r--r--src/com/isode/stroke/elements/Message.java56
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;
+ }
+}