package org.swellrt.server;
import com.google.common.base.Preconditions;
import org.waveprotocol.wave.model.id.WaveId;
@Deprecated
public enum WaveType {
CONVERSATION("conversation","w"),
CHAT("chat", "sc.chat"), DOCUMENT("document", "d"), UNKNOWN(
"unknown", "u");
private final String typeStrValue;
private final String prefix;
WaveType(String strValue, String prefix) {
this.typeStrValue = strValue;
this.prefix = prefix;
}
public String toString() {
return this.typeStrValue;
}
protected static WaveType from(String s) {
if (s == null) return UNKNOWN;
if (s.equals("document"))
return DOCUMENT;
else if (s.equals("chat"))
return CHAT;
else if (s.equals("conversation")) return CONVERSATION;
return UNKNOWN;
}
public String getWaveIdPrefix() {
return prefix;
}
public static String serialize(WaveType wt) {
return wt.toString();
}
public static WaveType deserialize(String s) {
return from(s);
}
public static WaveType fromWaveId(WaveId waveId) {
Preconditions.checkArgument(waveId.getId().contains("+"));
String prefix = waveId.getId().split("\\+")[0];
if (prefix.equals("w")) {
return WaveType.CONVERSATION;
}
if (prefix.equals("c")) {
return WaveType.CHAT;
}
return WaveType.UNKNOWN;
}
}