/*
* otr4j, the open source java otr library.
*
* Distributable under LGPL license. See terms of license at gnu.org.
*/
package net.java.otr4j.session;
import info.guardianproject.otr.app.im.engine.Address;
/** @author George Politis */
public final class SessionID {
private String mLocalUserId;
private String mRemoteUserId;
private String mProtocolName;
private String mSessionId;
public static final SessionID Empty = new SessionID(null, null, null);
public SessionID(String localUserId, String remoteUserId, String protocolName) {
mLocalUserId = localUserId;
mRemoteUserId = remoteUserId;
mProtocolName = protocolName;
mSessionId = Address.stripResource(mLocalUserId) + '_' + mProtocolName + '_' + Address.stripResource(mRemoteUserId);
}
public String getLocalUserId ()
{
return mLocalUserId;
}
public String getRemoteUserId ()
{
return mRemoteUserId;
}
public String getProtocolName ()
{
return mProtocolName;
}
public String toString() {
return mSessionId;
}
public boolean equals(Object obj) {
if (obj == this)
return true;
if (obj == null || obj.getClass() != this.getClass())
return false;
SessionID sessionID = (SessionID) obj;
return this.toString().equals(sessionID.toString());
}
public int hashCode() {
return this.toString().hashCode();
}
}