package com.rayo.storage.riak;
import java.util.Set;
import java.util.TreeSet;
import org.codehaus.jackson.annotate.JsonCreator;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty;
import com.basho.riak.client.convert.RiakKey;
import com.rayo.server.storage.model.GatewayClient;
public class RiakClient {
@RiakKey
private String jid;
@JsonProperty
private String platform;
@JsonProperty
private Set<String> resources = new TreeSet<String>();
public RiakClient(GatewayClient client) {
this.jid = client.getBareJid();
this.platform = client.getPlatform();
resources.add(client.getResource());
}
@JsonCreator
public RiakClient(@JsonProperty("jid") String jid) {
this.jid = jid;
}
@JsonIgnore
public GatewayClient getGatewayClient() {
GatewayClient client = new GatewayClient(jid, platform);
return client;
}
public String getJid() {
return jid;
}
public void setJid(String jid) {
this.jid = jid;
}
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
public Set<String> getResources() {
return resources;
}
public void setResources(Set<String> resources) {
this.resources = resources;
}
public void addResource(String resource) {
resources.add(resource);
}
public void removeResource(String resource) {
resources.remove(resource);
}
}