001: /*
002: * Copyright 2001-2006 C:1 Financial Services GmbH
003: *
004: * This software is free software; you can redistribute it and/or
005: * modify it under the terms of the GNU Lesser General Public
006: * License Version 2.1, as published by the Free Software Foundation.
007: *
008: * This software is distributed in the hope that it will be useful,
009: * but WITHOUT ANY WARRANTY; without even the implied warranty of
010: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
011: * Lesser General Public License for more details.
012: *
013: * You should have received a copy of the GNU Lesser General Public
014: * License along with this library; if not, write to the Free Software
015: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
016: */
017:
018: package de.finix.contelligent.client.base;
019:
020: /**
021: * Any session connected to the server. It may also be the current session.
022: */
023: public class RemoteSession/* implements Comparable */{
024: /**
025: * The name of the user of this session.
026: */
027: private String userName = null;
028:
029: /**
030: * The name of the host from which this session is connected.
031: */
032: private String hostName = null;
033:
034: /**
035: * The id of the remote session.
036: */
037: private String sessionId = null;
038:
039: /**
040: * Create a remote session.
041: *
042: * @param sessionId
043: * the id of the remote session.
044: */
045: public RemoteSession(String sessionId) {
046: this .userName = userName;
047: this .hostName = hostName;
048: this .sessionId = sessionId;
049: }
050:
051: /**
052: * Create a remote session.
053: *
054: * @param userName
055: * the name of the user of the session.
056: * @param hostName
057: * the name of the host from which this session is connected.
058: * @param sessionId
059: * the id of the remote session.
060: */
061: public RemoteSession(String userName, String hostName,
062: String sessionId) {
063: this .userName = userName;
064: this .hostName = hostName;
065: this .sessionId = sessionId;
066: }
067:
068: // public int compareTo(Object o) {
069: // if (o instanceof RemoteSession) {
070: // RemoteSession rs = (RemoteSession) o;
071: // int comparison = userName.compareTo(rs.userName);
072: // if (comparison == 0) {
073: // comparison = hostName.compareTo(rs.hostName);
074: // }
075: // return comparison;
076: // }
077: // else {
078: // throw new ClassCastException(o.toString() +
079: // " is not a RemoteSession");
080: // }
081: // }
082:
083: public boolean equals(Object o) {
084: if (o instanceof RemoteSession) {
085: RemoteSession rs = (RemoteSession) o;
086: return sessionId.equals(rs.sessionId);
087: } else {
088: throw new ClassCastException(o.toString()
089: + " is not a RemoteSession");
090: }
091: // return compareTo(o) == 0;
092: }
093:
094: public int hashCode() {
095: return -1;
096: }
097:
098: /**
099: * Get the name of the user of this session.
100: *
101: * @return the name of the user.
102: */
103: public String getUserName() {
104: return userName;
105: }
106:
107: /**
108: * Get the name of the host from which this session is connected.
109: *
110: * @return the name of the host.
111: */
112: public String getHostName() {
113: return hostName;
114: }
115:
116: /**
117: * Get the id of the remote session.
118: */
119: public String getSessionId() {
120: return sessionId;
121: }
122: };
|