package com.rayo.storage.riak; import java.util.ArrayList; import java.util.Collection; import org.codehaus.jackson.annotate.JsonCreator; import org.codehaus.jackson.annotate.JsonProperty; import com.basho.riak.client.RiakLink; import com.basho.riak.client.convert.RiakKey; import com.basho.riak.client.convert.RiakLinks; public class RiakPlatform { @RiakKey private String name; @JsonProperty private String description; @RiakLinks private transient Collection<RiakLink> nodeLinks; @JsonCreator public RiakPlatform(@JsonProperty("name") String name) { this.name = name; this.description = name; nodeLinks = new ArrayList<RiakLink>(); } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void addNode(String hostname) { nodeLinks.add(new RiakLink("nodes", hostname, "nodes")); } public void removeNode(String hostname) { nodeLinks.remove(new RiakLink("nodes", hostname, "nodes")); } public Collection<RiakLink> getNodeLinks() { return nodeLinks; } public void setNodeLinks(Collection<RiakLink> nodeLinks) { this.nodeLinks = nodeLinks; } }