package com.intrbiz.bergamot.model.message; import java.util.LinkedList; import java.util.List; import java.util.UUID; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeName; @JsonTypeName("bergamot.site") public class SiteMO extends MessageObject { @JsonProperty("id") protected UUID id; @JsonProperty("name") protected String name; @JsonProperty("summary") protected String summary; @JsonProperty("description") protected String description; @JsonProperty("aliases") protected List<String> aliases = new LinkedList<String>(); @JsonProperty("pool_count") protected int poolCount; public SiteMO() { super(); } public UUID getId() { return id; } public void setId(UUID id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public List<String> getAliases() { return aliases; } public void setAliases(List<String> aliases) { this.aliases = aliases; } public int getPoolCount() { return poolCount; } public void setPoolCount(int poolCount) { this.poolCount = poolCount; } /** * Get the site id for the given object id * * @param objectId * @return */ public static UUID getSiteId(UUID objectId) { return new UUID((objectId.getMostSignificantBits() & 0xFFFFFFFF_FFFF0000L) | 0x0000000000004000L, 0x80000000_00000000L); } /** * Set the site id into the given object id * * @param siteId * @param objectId * @return */ public static UUID setSiteId(UUID siteId, UUID objectId) { return new UUID((siteId.getMostSignificantBits() & 0xFFFFFFFF_FFFF0000L) | (objectId.getMostSignificantBits() & 0x00000000_0000FFFFL), objectId.getLeastSignificantBits()); } }