ChatState.java

 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}