1package eu.siacs.conversations.xmpp.chatstate;
2
3import eu.siacs.conversations.xml.Element;
4
5public enum ChatState {
6
7 ACTIVE, INACTIVE, GONE, COMPOSING, PAUSED;
8
9 public static ChatState parse(Element element) {
10 final String NAMESPACE = "http://jabber.org/protocol/chatstates";
11 if (element.hasChild("active",NAMESPACE)) {
12 return ACTIVE;
13 } else if (element.hasChild("inactive",NAMESPACE)) {
14 return INACTIVE;
15 } else if (element.hasChild("composing",NAMESPACE)) {
16 return COMPOSING;
17 } else if (element.hasChild("gone",NAMESPACE)) {
18 return GONE;
19 } else if (element.hasChild("paused",NAMESPACE)) {
20 return PAUSED;
21 } else {
22 return null;
23 }
24 }
25
26 public static Element toElement(ChatState state) {
27 final String NAMESPACE = "http://jabber.org/protocol/chatstates";
28 final Element element = new Element(state.toString().toLowerCase());
29 element.setAttribute("xmlns",NAMESPACE);
30 return element;
31 }
32}