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 */ 017 package org.apache.activemq.state; 018 019 import org.apache.activemq.command.BrokerInfo; 020 import org.apache.activemq.command.ConnectionControl; 021 import org.apache.activemq.command.ConnectionError; 022 import org.apache.activemq.command.ConnectionId; 023 import org.apache.activemq.command.ConnectionInfo; 024 import org.apache.activemq.command.ConsumerControl; 025 import org.apache.activemq.command.ConsumerId; 026 import org.apache.activemq.command.ConsumerInfo; 027 import org.apache.activemq.command.ControlCommand; 028 import org.apache.activemq.command.DestinationInfo; 029 import org.apache.activemq.command.FlushCommand; 030 import org.apache.activemq.command.KeepAliveInfo; 031 import org.apache.activemq.command.Message; 032 import org.apache.activemq.command.MessageAck; 033 import org.apache.activemq.command.MessageDispatch; 034 import org.apache.activemq.command.MessageDispatchNotification; 035 import org.apache.activemq.command.MessagePull; 036 import org.apache.activemq.command.ProducerAck; 037 import org.apache.activemq.command.ProducerId; 038 import org.apache.activemq.command.ProducerInfo; 039 import org.apache.activemq.command.RemoveSubscriptionInfo; 040 import org.apache.activemq.command.Response; 041 import org.apache.activemq.command.SessionId; 042 import org.apache.activemq.command.SessionInfo; 043 import org.apache.activemq.command.ShutdownInfo; 044 import org.apache.activemq.command.TransactionInfo; 045 import org.apache.activemq.command.WireFormatInfo; 046 047 public interface CommandVisitor { 048 049 Response processAddConnection(ConnectionInfo info) throws Exception; 050 051 Response processAddSession(SessionInfo info) throws Exception; 052 053 Response processAddProducer(ProducerInfo info) throws Exception; 054 055 Response processAddConsumer(ConsumerInfo info) throws Exception; 056 057 Response processRemoveConnection(ConnectionId id, long lastDeliveredSequenceId) throws Exception; 058 059 Response processRemoveSession(SessionId id, long lastDeliveredSequenceId) throws Exception; 060 061 Response processRemoveProducer(ProducerId id) throws Exception; 062 063 Response processRemoveConsumer(ConsumerId id, long lastDeliveredSequenceId) throws Exception; 064 065 Response processAddDestination(DestinationInfo info) throws Exception; 066 067 Response processRemoveDestination(DestinationInfo info) throws Exception; 068 069 Response processRemoveSubscription(RemoveSubscriptionInfo info) throws Exception; 070 071 Response processMessage(Message send) throws Exception; 072 073 Response processMessageAck(MessageAck ack) throws Exception; 074 075 Response processMessagePull(MessagePull pull) throws Exception; 076 077 Response processBeginTransaction(TransactionInfo info) throws Exception; 078 079 Response processPrepareTransaction(TransactionInfo info) throws Exception; 080 081 Response processCommitTransactionOnePhase(TransactionInfo info) throws Exception; 082 083 Response processCommitTransactionTwoPhase(TransactionInfo info) throws Exception; 084 085 Response processRollbackTransaction(TransactionInfo info) throws Exception; 086 087 Response processWireFormat(WireFormatInfo info) throws Exception; 088 089 Response processKeepAlive(KeepAliveInfo info) throws Exception; 090 091 Response processShutdown(ShutdownInfo info) throws Exception; 092 093 Response processFlush(FlushCommand command) throws Exception; 094 095 Response processBrokerInfo(BrokerInfo info) throws Exception; 096 097 Response processRecoverTransactions(TransactionInfo info) throws Exception; 098 099 Response processForgetTransaction(TransactionInfo info) throws Exception; 100 101 Response processEndTransaction(TransactionInfo info) throws Exception; 102 103 Response processMessageDispatchNotification(MessageDispatchNotification notification) throws Exception; 104 105 Response processProducerAck(ProducerAck ack) throws Exception; 106 107 Response processMessageDispatch(MessageDispatch dispatch) throws Exception; 108 109 Response processControlCommand(ControlCommand command) throws Exception; 110 111 Response processConnectionError(ConnectionError error) throws Exception; 112 113 Response processConnectionControl(ConnectionControl control) throws Exception; 114 115 Response processConsumerControl(ConsumerControl control) throws Exception; 116 117 }