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 }