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 020 package org.activemq.io.impl; 021 import java.io.DataInput; 022 import java.io.IOException; 023 import org.activemq.message.Packet; 024 import org.activemq.message.ResponseReceipt; 025 026 /** 027 * Reads a ConsumerInfo object from a Stream 028 */ 029 030 public class ResponseReceiptReader extends ReceiptReader { 031 032 /** 033 * Return the type of Packet 034 * 035 * @return integer representation of the type of Packet 036 */ 037 public int getPacketType() { 038 return Packet.RESPONSE_RECEIPT_INFO; 039 } 040 041 /** 042 * @return a new Packet instance 043 */ 044 045 public Packet createPacket() { 046 return new ResponseReceipt(); 047 } 048 049 050 /** 051 * build a Packet instance from the data input stream 052 * 053 * @param packet A Packet object 054 * @param dataIn the data input stream to build the packet from 055 * @throws IOException 056 */ 057 058 public void buildPacket(Packet packet, DataInput dataIn) throws IOException { 059 super.buildPacket(packet, dataIn); 060 ResponseReceipt info = (ResponseReceipt) packet; 061 int size = dataIn.readInt(); 062 byte data[] = null; 063 if (size != 0) { 064 data = new byte[size]; 065 dataIn.readFully(data); 066 } 067 info.setResultBytes(data); 068 } 069 070 071 }