diff options
Diffstat (limited to 'java/common/src/main/java/org/apache/qpid/transport/codec/BBDecoder.java')
-rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/codec/BBDecoder.java | 58 |
1 files changed, 53 insertions, 5 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/codec/BBDecoder.java b/java/common/src/main/java/org/apache/qpid/transport/codec/BBDecoder.java index dd634eb94a..6f7a2fa3b2 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/codec/BBDecoder.java +++ b/java/common/src/main/java/org/apache/qpid/transport/codec/BBDecoder.java @@ -25,16 +25,14 @@ import java.nio.ByteOrder; import org.apache.qpid.transport.Binary; - /** - * BBDecoder + * Byte Buffer Decoder. + * Decoder concrete implementor using a backing byte buffer for decoding data. * * @author Rafael H. Schloming */ - public final class BBDecoder extends AbstractDecoder { - private ByteBuffer in; public void init(ByteBuffer in) @@ -93,4 +91,54 @@ public final class BBDecoder extends AbstractDecoder return in.getLong(); } -} + public byte[] readBin128() + { + byte[] result = new byte[16]; + get(result); + return result; + } + + public byte[] readBytes(int howManyBytes) + { + byte[] result = new byte[howManyBytes]; + get(result); + return result; + } + + public double readDouble() + { + return in.getDouble(); + } + + public float readFloat() + { + return in.getFloat(); + } + + public short readInt16() + { + return in.getShort(); + } + + public int readInt32() + { + return in.getInt(); + } + + public byte readInt8() + { + return in.get(); + } + + public byte[] readReaminingBytes() + { + byte[] result = new byte[in.limit() - in.position()]; + get(result); + return result; + } + + public long readInt64() + { + return in.getLong(); + } +}
\ No newline at end of file |