1 18 19 package org.apache.activemq.openwire.v3; 20 21 import java.io.DataInput ; 22 import java.io.DataOutput ; 23 import java.io.IOException ; 24 25 import org.apache.activemq.openwire.*; 26 import org.apache.activemq.command.*; 27 28 29 30 41 public class MessageAckMarshaller extends BaseCommandMarshaller { 42 43 47 public byte getDataStructureType() { 48 return MessageAck.DATA_STRUCTURE_TYPE; 49 } 50 51 54 public DataStructure createObject() { 55 return new MessageAck(); 56 } 57 58 65 public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException { 66 super.tightUnmarshal(wireFormat, o, dataIn, bs); 67 68 MessageAck info = (MessageAck)o; 69 info.setDestination((org.apache.activemq.command.ActiveMQDestination) tightUnmarsalCachedObject(wireFormat, dataIn, bs)); 70 info.setTransactionId((org.apache.activemq.command.TransactionId) tightUnmarsalCachedObject(wireFormat, dataIn, bs)); 71 info.setConsumerId((org.apache.activemq.command.ConsumerId) tightUnmarsalCachedObject(wireFormat, dataIn, bs)); 72 info.setAckType(dataIn.readByte()); 73 info.setFirstMessageId((org.apache.activemq.command.MessageId) tightUnmarsalNestedObject(wireFormat, dataIn, bs)); 74 info.setLastMessageId((org.apache.activemq.command.MessageId) tightUnmarsalNestedObject(wireFormat, dataIn, bs)); 75 info.setMessageCount(dataIn.readInt()); 76 77 } 78 79 80 83 public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException { 84 85 MessageAck info = (MessageAck)o; 86 87 int rc = super.tightMarshal1(wireFormat, o, bs); 88 rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getDestination(), bs); 89 rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getTransactionId(), bs); 90 rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getConsumerId(), bs); 91 rc += tightMarshalNestedObject1(wireFormat, (DataStructure)info.getFirstMessageId(), bs); 92 rc += tightMarshalNestedObject1(wireFormat, (DataStructure)info.getLastMessageId(), bs); 93 94 return rc + 5; 95 } 96 97 104 public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException { 105 super.tightMarshal2(wireFormat, o, dataOut, bs); 106 107 MessageAck info = (MessageAck)o; 108 tightMarshalCachedObject2(wireFormat, (DataStructure)info.getDestination(), dataOut, bs); 109 tightMarshalCachedObject2(wireFormat, (DataStructure)info.getTransactionId(), dataOut, bs); 110 tightMarshalCachedObject2(wireFormat, (DataStructure)info.getConsumerId(), dataOut, bs); 111 dataOut.writeByte(info.getAckType()); 112 tightMarshalNestedObject2(wireFormat, (DataStructure)info.getFirstMessageId(), dataOut, bs); 113 tightMarshalNestedObject2(wireFormat, (DataStructure)info.getLastMessageId(), dataOut, bs); 114 dataOut.writeInt(info.getMessageCount()); 115 116 } 117 118 125 public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException { 126 super.looseUnmarshal(wireFormat, o, dataIn); 127 128 MessageAck info = (MessageAck)o; 129 info.setDestination((org.apache.activemq.command.ActiveMQDestination) looseUnmarsalCachedObject(wireFormat, dataIn)); 130 info.setTransactionId((org.apache.activemq.command.TransactionId) looseUnmarsalCachedObject(wireFormat, dataIn)); 131 info.setConsumerId((org.apache.activemq.command.ConsumerId) looseUnmarsalCachedObject(wireFormat, dataIn)); 132 info.setAckType(dataIn.readByte()); 133 info.setFirstMessageId((org.apache.activemq.command.MessageId) looseUnmarsalNestedObject(wireFormat, dataIn)); 134 info.setLastMessageId((org.apache.activemq.command.MessageId) looseUnmarsalNestedObject(wireFormat, dataIn)); 135 info.setMessageCount(dataIn.readInt()); 136 137 } 138 139 140 143 public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { 144 145 MessageAck info = (MessageAck)o; 146 147 super.looseMarshal(wireFormat, o, dataOut); 148 looseMarshalCachedObject(wireFormat, (DataStructure)info.getDestination(), dataOut); 149 looseMarshalCachedObject(wireFormat, (DataStructure)info.getTransactionId(), dataOut); 150 looseMarshalCachedObject(wireFormat, (DataStructure)info.getConsumerId(), dataOut); 151 dataOut.writeByte(info.getAckType()); 152 looseMarshalNestedObject(wireFormat, (DataStructure)info.getFirstMessageId(), dataOut); 153 looseMarshalNestedObject(wireFormat, (DataStructure)info.getLastMessageId(), dataOut); 154 dataOut.writeInt(info.getMessageCount()); 155 156 } 157 } 158 | Popular Tags |