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  import org.codehaus.activemq.service.MessageIdentity;
22  
23  /***
24   * Denotes an object that can be serialized/deserailized using a PacketReader/PacketWriter
25   */
26  
27  public class MessageAck extends AbstractPacket {
28  
29      private String consumerId;
30      private String messageID;
31      private String transactionId;
32      private boolean messageRead;
33      private boolean xaTransacted;
34      private transient MessageIdentity messageIdentity;
35  
36  
37      /***
38       * Return the type of Packet
39       *
40       * @return integer representation of the type of Packet
41       */
42  
43      public int getPacketType() {
44          return ACTIVEMQ_MSG_ACK;
45      }
46  
47      /***
48       * @return pretty print of this Packet
49       */
50      public String toString() {
51          String str = super.toString();
52          str += " consumerId = " + consumerId;
53          str += " , messageId = " + messageID;
54          str += " ,read = " + messageRead;
55          str += " ,trans = " + transactionId;
56          return str;
57      }
58  
59  
60      /***
61       * @return Returns the transactionId.
62       */
63      public String getTransactionId() {
64          return this.transactionId;
65      }
66  
67      /***
68       * @param newTransactionId The transactionId to set.
69       */
70      public void setTransactionId(String newTransactionId) {
71          this.transactionId = newTransactionId;
72      }
73  
74      /***
75       * @return Returns true if this message is part of a transaction
76       */
77  
78      public boolean isPartOfTransaction() {
79          return this.transactionId != null && this.transactionId.length() > 0;
80      }
81  
82  
83      /***
84       * @return Returns the messageID.
85       */
86      public String getMessageID() {
87          return messageID;
88      }
89  
90      /***
91       * @param messageID The messageID to set.
92       */
93      public void setMessageID(String messageID) {
94          this.messageID = messageID;
95      }
96  
97      /***
98       * @return Returns the messageRead.
99       */
100     public boolean isMessageRead() {
101         return messageRead;
102     }
103 
104     /***
105      * @param messageRead The messageRead to set.
106      */
107     public void setMessageRead(boolean messageRead) {
108         this.messageRead = messageRead;
109     }
110 
111     /***
112      * @return Returns the consumerId.
113      */
114     public String getConsumerId() {
115         return consumerId;
116     }
117 
118     /***
119      * @param consumerId The consumerId to set.
120      */
121     public void setConsumerId(String consumerId) {
122         this.consumerId = consumerId;
123     }
124 
125     /***
126      * @return Returns the xaTransacted.
127      */
128     public boolean isXaTransacted() {
129         return xaTransacted;
130     }
131 
132     /***
133      * @param xaTransacted The xaTransacted to set.
134      */
135     public void setXaTransacted(boolean xaTransacted) {
136         this.xaTransacted = xaTransacted;
137     }
138 
139     public MessageIdentity getMessageIdentity() {
140         if (messageIdentity == null) {
141             messageIdentity = new MessageIdentity(messageID);
142         }
143         return messageIdentity;
144     }
145 }