/*
* Copyright (C) 2015 Actor LLC. <https://actor.im>
*/
package im.actor.core.js.entity;
import com.google.gwt.core.client.JavaScriptObject;
import im.actor.core.entity.Peer;
public class JsPeer extends JavaScriptObject {
public static JsPeer create(Peer peer) {
switch (peer.getPeerType()) {
default:
case PRIVATE:
return create("user", peer.getPeerId(), "u" + peer.getPeerId());
case GROUP:
return create("group", peer.getPeerId(), "g" + peer.getPeerId());
}
}
public static native JsPeer create(String peerType, int peerId, String peerKey)/*-{
return {type: peerType, id: peerId, key: peerKey};
}-*/;
protected JsPeer() {
}
public final native String getPeerType()/*-{ return this.type; }-*/;
public final native int getPeerId()/*-{ return this.id; }-*/;
public final native String getPeerKey()/*-{ return this.key; }-*/;
public final Peer convert() {
if (getPeerType().equals("user")) {
return Peer.user(getPeerId());
} else {
return Peer.group(getPeerId());
}
}
}