001/** 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. 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 */ 017package org.apache.activemq.command; 018 019import org.apache.activemq.state.CommandVisitor; 020 021/** 022 * 023 * @openwire:marshaller code="4" 024 * 025 */ 026public class SessionInfo extends BaseCommand { 027 028 public static final byte DATA_STRUCTURE_TYPE = CommandTypes.SESSION_INFO; 029 030 protected SessionId sessionId; 031 032 public SessionInfo() { 033 sessionId = new SessionId(); 034 } 035 036 public SessionInfo(ConnectionInfo connectionInfo, long sessionId) { 037 this.sessionId = new SessionId(connectionInfo.getConnectionId(), sessionId); 038 } 039 040 public SessionInfo(SessionId sessionId) { 041 this.sessionId = sessionId; 042 } 043 044 public byte getDataStructureType() { 045 return DATA_STRUCTURE_TYPE; 046 } 047 048 /** 049 * @openwire:property version=1 cache=true 050 */ 051 public SessionId getSessionId() { 052 return sessionId; 053 } 054 055 public void setSessionId(SessionId sessionId) { 056 this.sessionId = sessionId; 057 } 058 059 public RemoveInfo createRemoveCommand() { 060 RemoveInfo command = new RemoveInfo(getSessionId()); 061 command.setResponseRequired(isResponseRequired()); 062 return command; 063 } 064 065 public Response visit(CommandVisitor visitor) throws Exception { 066 return visitor.processAddSession(this); 067 } 068 069}