001 /**
002 *
003 * Copyright 2004 Protique Ltd
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * 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 **/
018
019 package org.activemq.message;
020
021 import java.io.StringWriter;
022 import java.io.PrintWriter;
023
024 /**
025 * Sent in receipt of a Packet
026 */
027
028 public class Receipt extends AbstractPacket {
029
030 private short correlationId;
031 private String brokerName;
032 private String clusterName;
033 private Throwable exception;
034 private boolean failed;
035 private int brokerMessageCapacity = 100;
036
037
038 /**
039 * @return Returns the jmsException.
040 *
041 * @Transient
042 */
043 public Throwable getException() {
044 return exception;
045 }
046
047 /**
048 * @param exception The exception to set.
049 */
050 public void setException(Throwable exception) {
051 this.exception = exception;
052 }
053
054 /**
055 * Return the type of Packet
056 *
057 * @return integer representation of the type of Packet
058 */
059
060 public int getPacketType() {
061 return RECEIPT_INFO;
062 }
063
064 /**
065 * @return true, this is a receipt packet
066 */
067 public boolean isReceipt() {
068 return true;
069 }
070
071 /**
072 * @return Returns the correlationId.
073 */
074 public short getCorrelationId() {
075 return this.correlationId;
076 }
077
078 /**
079 * @param newCorrelationId The correlationId to set.
080 */
081 public void setCorrelationId(short newCorrelationId) {
082 this.correlationId = newCorrelationId;
083 }
084
085 /**
086 * @return Returns the failed.
087 */
088 public boolean isFailed() {
089 return this.failed;
090 }
091
092 /**
093 * @param newFailed The failed to set.
094 */
095 public void setFailed(boolean newFailed) {
096 this.failed = newFailed;
097 }
098
099 /**
100 * @return Returns the brokerMessageCapacity.
101 */
102 public int getBrokerMessageCapacity() {
103 return brokerMessageCapacity;
104 }
105 /**
106 * @param brokerMessageCapacity The brokerMessageCapacity to set.
107 */
108 public void setBrokerMessageCapacity(int brokerMessageCapacity) {
109 this.brokerMessageCapacity = brokerMessageCapacity;
110 }
111 /**
112 * @return Returns the brokerName.
113 */
114 public String getBrokerName() {
115 return brokerName;
116 }
117 /**
118 * @param brokerName The brokerName to set.
119 */
120 public void setBrokerName(String brokerName) {
121 this.brokerName = brokerName;
122 }
123 /**
124 * @return Returns the clusterName.
125 */
126 public String getClusterName() {
127 return clusterName;
128 }
129 /**
130 * @param clusterName The clusterName to set.
131 */
132 public void setClusterName(String clusterName) {
133 this.clusterName = clusterName;
134 }
135
136 /**
137 * OpenWire helper method
138 */
139 public String getExceptionAsString() {
140 if (exception == null) {
141 return null;
142 }
143 StringWriter buffer = new StringWriter();
144 PrintWriter out = new PrintWriter(buffer);
145 out.println(exception.getMessage());
146 exception.printStackTrace(out);
147 out.close();
148 return buffer.toString();
149 }
150
151 /**
152 * OpenWire helper method
153 */
154 public void setExceptionAsString(String text) {
155 Exception answer = null;
156 if (text != null && text.length() > 0) {
157 answer = new Exception(answer);
158 }
159 setException(answer);
160 }
161
162
163 /**
164 * @return pretty print of a Receipt
165 */
166 public String toString() {
167 return super.toString() + " Receipt{ " +
168 "brokerMessageCapacity = " + brokerMessageCapacity +
169 ", correlationId = '" + correlationId + "' " +
170 ", brokerName = '" + brokerName + "' " +
171 ", clusterName = '" + clusterName + "' " +
172 ", exception = " + exception +
173 ", failed = " + failed +
174 " }";
175 }
176 }