82 lines
1.6 KiB
Java
82 lines
1.6 KiB
Java
package eu.siacs.conversations.xmpp;
|
|
|
|
import eu.siacs.conversations.xml.Element;
|
|
|
|
public class MessagePacket extends Element {
|
|
public static final int TYPE_CHAT = 0;
|
|
public static final int TYPE_UNKNOWN = 1;
|
|
public static final int TYPE_NO = 2;
|
|
public static final int TYPE_GROUPCHAT = 3;
|
|
public static final int TYPE_ERROR = 4;
|
|
|
|
private MessagePacket(String name) {
|
|
super(name);
|
|
}
|
|
|
|
public MessagePacket() {
|
|
super("message");
|
|
}
|
|
|
|
public String getTo() {
|
|
return getAttribute("to");
|
|
}
|
|
|
|
public String getFrom() {
|
|
return getAttribute("from");
|
|
}
|
|
|
|
public String getBody() {
|
|
Element body = this.findChild("body");
|
|
if (body!=null) {
|
|
return body.getContent();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public void setTo(String to) {
|
|
setAttribute("to", to);
|
|
}
|
|
|
|
public void setFrom(String from) {
|
|
setAttribute("from",from);
|
|
}
|
|
|
|
public void setBody(String text) {
|
|
this.children.remove(findChild("body"));
|
|
Element body = new Element("body");
|
|
body.setContent(text);
|
|
this.children.add(body);
|
|
}
|
|
|
|
public void setType(int type) {
|
|
switch (type) {
|
|
case TYPE_CHAT:
|
|
this.setAttribute("type","chat");
|
|
break;
|
|
case TYPE_GROUPCHAT:
|
|
this.setAttribute("type", "groupchat");
|
|
break;
|
|
default:
|
|
this.setAttribute("type","chat");
|
|
break;
|
|
}
|
|
}
|
|
|
|
public int getType() {
|
|
String type = getAttribute("type");
|
|
if (type==null) {
|
|
return TYPE_NO;
|
|
}
|
|
if (type.equals("chat")) {
|
|
return TYPE_CHAT;
|
|
} else if (type.equals("groupchat")) {
|
|
return TYPE_GROUPCHAT;
|
|
} else if (type.equals("error")) {
|
|
return TYPE_ERROR;
|
|
} else {
|
|
return TYPE_UNKNOWN;
|
|
}
|
|
}
|
|
}
|