View Javadoc

1   /*** 
2    * 
3    * Copyright 2004 Protique Ltd
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  
19  package org.codehaus.activemq.message;
20  
21  /***
22   * Denotes an object that can be serialized/deserailized using a PacketReader or PacketWriter
23   */
24  
25  public interface Packet {
26  
27      /***
28       * Return the type of Packet
29       *
30       * @return integer representation of the type of Packet
31       */
32  
33      public int getPacketType();
34  
35      /***
36       * @return the unique id for this Packet
37       */
38  
39      public String getId();
40  
41      /***
42       * Set the unique id for this Packet
43       *
44       * @param newId
45       */
46  
47      public void setId(String newId);
48  
49      /***
50       * @return true if a Recipt is required
51       */
52      public boolean isReceiptRequired();
53  
54      /***
55       * @return true if this is a Receipt
56       */
57      public boolean isReceipt();
58  
59      /***
60       * Set if a Recipt if required on receiving this Packet
61       *
62       * @param value
63       */
64  
65      public void setReceiptRequired(boolean value);
66  
67      /***
68       * Retrieve if a JMS Message type or not
69       *
70       * @return true if it is a JMS Message
71       */
72      public boolean isJMSMessage();
73  
74      /***
75       * Get a hint about how much memory this Packet is consuming
76       *
77       * @return an aproximation of the current memory used by this instance
78       */
79      public int getMemoryUsage();
80  
81      /***
82       * Set a hint about how mujch memory this packet is consuming
83       *
84       * @param newMemoryUsage
85       */
86      public void setMemoryUsage(int newMemoryUsage);
87  
88      /***
89       * Increment reference count for bounded memory collections
90       *
91       * @return the incremented reference value
92       * @see org.codehaus.activemq.message.util.MemoryBoundedQueue
93       */
94      public int incrementMemoryReferenceCount();
95  
96  
97      /***
98       * Decrement reference count for bounded memory collections
99       *
100      * @return the decremented reference value
101      * @see org.codehaus.activemq.message.util.MemoryBoundedQueue
102      */
103     public int decrementMemoryReferenceCount();
104 
105     /***
106      * @return the current reference count for bounded memory collections
107      * @see org.codehaus.activemq.message.util.MemoryBoundedQueue
108      */
109     public int getMemoryUsageReferenceCount();
110 
111     /***
112      * As the packet passes through the broker add the broker to the visited list
113      *
114      * @param brokerName the name of the broker
115      */
116     public void addBrokerVisited(String brokerName);
117 
118 
119     /***
120      * test to see if the named broker has already seen this packet
121      *
122      * @param brokerName the name of the broker
123      * @return true if the packet has visited the broker
124      */
125     public boolean hasVisited(String brokerName);
126 
127     /***
128      * @return Returns the brokersVisited.
129      */
130     public String getBrokersVisitedAsString();
131 
132 
133     /***
134      * ActiveMQMessage object
135      */
136     public static final int ACTIVEMQ_MESSAGE = 6;
137 
138     /***
139      * ActiveMQTextMessage object
140      */
141 
142     public static final int ACTIVEMQ_TEXT_MESSAGE = 7;
143 
144     /***
145      * ActiveMQObjectMessage object
146      */
147 
148     public static final int ACTIVEMQ_OBJECT_MESSAGE = 8;
149 
150     /***
151      * ActiveMQBytesMessage
152      */
153 
154     public static final int ACTIVEMQ_BYTES_MESSAGE = 9;
155 
156     /***
157      * ActiveMQStreamMessage object
158      */
159 
160     public static final int ACTIVEMQ_STREAM_MESSAGE = 10;
161 
162     /***
163      * ActiveMQMapMessage object
164      */
165 
166     public static final int ACTIVEMQ_MAP_MESSAGE = 11;
167 
168     /***
169      * Message acknowledge
170      */
171     public static final int ACTIVEMQ_MSG_ACK = 15;
172 
173     /***
174      * Recipt message
175      */
176 
177     public static final int RECEIPT_INFO = 16;
178 
179     /***
180      * Consumer Infomation
181      */
182 
183     public static final int CONSUMER_INFO = 17;
184 
185     /***
186      * Producer Info
187      */
188 
189     public static final int PRODUCER_INFO = 18;
190 
191     /***
192      * Transaction info
193      */
194 
195     public static final int TRANSACTION_INFO = 19;
196 
197     /***
198      * XA Transaction info
199      */
200 
201     public static final int XA_TRANSACTION_INFO = 20;
202 
203     /***
204      * Broker infomation message
205      */
206 
207     public static final int ACTIVEMQ_BROKER_INFO = 21;
208 
209     /***
210      * Connection info message
211      */
212 
213     public static final int ACTIVEMQ_CONNECTION_INFO = 22;
214 
215 
216     /***
217      * Session Info message
218      */
219     public static final int SESSION_INFO = 23;
220 
221     /***
222      * Durable Unsubscribe message
223      */
224 
225     public static final int DURABLE_UNSUBSCRIBE = 24;
226 
227 
228     /***
229      * A receipt with an Object reponse.
230      */
231     public static final int RESPONSE_RECEIPT_INFO = 25;
232 
233 
234     /***
235      * A receipt with an Integer reponse.
236      */
237     public static final int INT_RESPONSE_RECEIPT_INFO = 26;
238 
239     /***
240      * Infomation about the Capacity for more Messages for either Connection/Broker
241      */
242     public static final int CAPACITY_INFO = 27;
243 
244     /***
245      * Request infomation  about the current capacity
246      */
247     public static final int CAPACITY_INFO_REQUEST = 28;
248     
249     /***
250      * Infomation about the wire format expected
251      */
252     public static final int WIRE_FORMAT_INFO = 29;
253 
254 
255 }