package com.rayo.server.storage.model; import java.io.Serializable; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; /** * Represents a Rayo application. * * @author martin * */ public class Application implements Serializable { private static final long serialVersionUID = -6377732285884068488L; private String appId; private String jid; private String platform; private String name; private String accountId; private String permissions; /** * Application registered in the gateway * * @param appId Application's id * @param jid Application's JID * @param platform Application's platform */ public Application(String appId, String jid, String platform) { this.appId = appId; this.jid = jid; this.platform = platform; } /** * Application registered in the gateway * * @param appId Application's jid */ public Application(String jid) { this.jid = jid; } /** * Gets the JID of this application * * @return JID Application's JID */ public String getJid() { return jid; } public String getPlatform() { return platform; } public void setPlatform(String platform) { this.platform = platform; } public void setJid(String jid) { this.jid = jid; } @Override public int hashCode() { return jid.hashCode(); } @Override public boolean equals(Object obj) { if (!(obj instanceof Application)) return false; return jid.equals(((Application)obj).getJid()); } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE) .append("appId", getAppId()) .append("name", getName()) .append("jid", getJid()) .append("platform", getPlatform()) .append("accountId", getAccountId()) .append("permissions", getPermissions()) .toString(); } public String getBareJid() { int slashIndex = jid.indexOf("/"); if (slashIndex != -1) { return jid.substring(0, slashIndex); } else { return jid; } } public String getResource() { return jid.substring(jid.indexOf("/") + 1, jid.length()); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAccountId() { return accountId; } public void setAccountId(String accountId) { this.accountId = accountId; } public String getPermissions() { return permissions; } public void setPermissions(String permissions) { this.permissions = permissions; } public String getAppId() { return appId; } public void setAppId(String appId) { this.appId = appId; } }