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.command;
018    
019    import org.apache.activemq.state.CommandVisitor;
020    
021    /**
022     * Used to start and stop transports as well as terminating clients.
023     * 
024     * @openwire:marshaller code="17"
025     * 
026     */
027    public class ConsumerControl extends BaseCommand {
028    
029        public static final byte DATA_STRUCTURE_TYPE = CommandTypes.CONSUMER_CONTROL;
030    
031        protected ConsumerId consumerId;
032        protected boolean close;
033        protected boolean stop;
034        protected boolean start;
035        protected boolean flush;
036        protected int prefetch;
037        protected ActiveMQDestination destination;
038    
039        /**
040         * @openwire:property version=6
041         * @return Returns the destination.
042         */
043        public ActiveMQDestination getDestination() {
044            return destination;
045        }
046    
047        public void setDestination(ActiveMQDestination destination) {
048            this.destination = destination;
049        }
050    
051        public byte getDataStructureType() {
052            return DATA_STRUCTURE_TYPE;
053        }
054    
055        public Response visit(CommandVisitor visitor) throws Exception {
056            return visitor.processConsumerControl(this);
057        }
058    
059        /**
060         * @openwire:property version=1
061         * @return Returns the close.
062         */
063        public boolean isClose() {
064            return close;
065        }
066    
067        /**
068         * @param close The close to set.
069         */
070        public void setClose(boolean close) {
071            this.close = close;
072        }
073    
074        /**
075         * @openwire:property version=1
076         * @return Returns the consumerId.
077         */
078        public ConsumerId getConsumerId() {
079            return consumerId;
080        }
081    
082        /**
083         * @param consumerId The consumerId to set.
084         */
085        public void setConsumerId(ConsumerId consumerId) {
086            this.consumerId = consumerId;
087        }
088    
089        /**
090         * @openwire:property version=1
091         * @return Returns the prefetch.
092         */
093        public int getPrefetch() {
094            return prefetch;
095        }
096    
097        /**
098         * @param prefetch The prefetch to set.
099         */
100        public void setPrefetch(int prefetch) {
101            this.prefetch = prefetch;
102        }
103    
104        /**
105         * @openwire:property version=2
106         * @return the flush
107         */
108        public boolean isFlush() {
109            return this.flush;
110        }
111    
112        /**
113         * @param flush the flush to set
114         */
115        public void setFlush(boolean flush) {
116            this.flush = flush;
117        }
118    
119        /**
120         * @openwire:property version=2
121         * @return the start
122         */
123        public boolean isStart() {
124            return this.start;
125        }
126    
127        /**
128         * @param start the start to set
129         */
130        public void setStart(boolean start) {
131            this.start = start;
132        }
133    
134        /**
135         * @openwire:property version=2
136         * @return the stop
137         */
138        public boolean isStop() {
139            return this.stop;
140        }
141    
142        /**
143         * @param stop the stop to set
144         */
145        public void setStop(boolean stop) {
146            this.stop = stop;
147        }
148    }