001 /**
002 *
003 * Copyright 2004 Protique Ltd
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 *
017 **/
018
019 package org.activemq.message;
020
021 /**
022 * Denotes an object that can be serialized/deserailized using a Packet Reader/Writer
023 */
024
025 public class CleanupConnectionInfo extends AbstractPacket {
026
027 private String clientId;
028 private short sessionId;
029
030 /**
031 * Return the type of Packet
032 *
033 * @return integer representation of the type of Packet
034 */
035
036 public int getPacketType() {
037 return CLEANUP_CONNECTION_INFO;
038 }
039
040
041 /**
042 * Test for equality
043 *
044 * @param obj object to test
045 * @return true if equivalent
046 */
047 public boolean equals(Object obj) {
048 boolean result = false;
049 if (obj != null && obj instanceof CleanupConnectionInfo) {
050 CleanupConnectionInfo info = (CleanupConnectionInfo) obj;
051 result = this.clientId.equals(info.clientId) && this.sessionId == info.sessionId;
052 }
053 return result;
054 }
055
056 /**
057 * @return hash code for instance
058 */
059 public int hashCode() {
060 if (cachedHashCode == -1){
061 String hashCodeStr = clientId + sessionId;
062 cachedHashCode = hashCodeStr.hashCode();
063 }
064 return cachedHashCode;
065 }
066
067
068
069 /**
070 * @return Returns the sessionId.
071 */
072 public short getSessionId() {
073 return sessionId;
074 }
075
076 /**
077 * @param sessionId The sessionId to set.
078 */
079 public void setSessionId(short sessionId) {
080 this.sessionId = sessionId;
081 }
082
083
084 /**
085 * @return Returns the clientId.
086 */
087 public String getClientId() {
088 return this.clientId;
089 }
090
091 /**
092 * @param newClientId The clientId to set.
093 */
094 public void setClientId(String newClientId) {
095 this.clientId = newClientId;
096 }
097
098 public String toString() {
099 return super.toString() + " ClenaupConnectionAndSessionInfo{ " +
100 "clientId = '" + clientId + "' " +
101 ", sessionId = '" + sessionId + "' " +
102 " }";
103 }
104 }