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 an application registered in the gateway
*
* @author martin
*
*/
public class GatewayClient implements Serializable {
private static final long serialVersionUID = -6377732285884068488L;
private String jid;
private String platform;
/**
* Application registered in the gateway
*
* @param jid Application's JID
* @param platform Application's platform
*/
public GatewayClient(String jid, String platform) {
this.jid = jid;
this.platform = platform;
}
/**
* Empty constructor
*/
public GatewayClient() {
}
/**
* 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 GatewayClient)) return false;
return jid.equals(((GatewayClient)obj).getJid());
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
.append("jid", getJid())
.append("platform", getPlatform())
.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());
}
}