From 4e4678edfa8e4d91e32852eceb6fd8d7e659b339 Mon Sep 17 00:00:00 2001 From: Muga Nishizawa <muga.nishizawa@gmail.com> Date: Sun, 12 Dec 2010 00:35:43 +0900 Subject: [PATCH] java: add packByteBuffer method in Packer.java because I needed non-nullcheck pack(ByteBuffer) for refining ByteBufferTemplate.java --- java/src/main/java/org/msgpack/Packer.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/java/src/main/java/org/msgpack/Packer.java b/java/src/main/java/org/msgpack/Packer.java index e3af0557..17a6796a 100644 --- a/java/src/main/java/org/msgpack/Packer.java +++ b/java/src/main/java/org/msgpack/Packer.java @@ -399,6 +399,11 @@ public class Packer { return packRawBody(b, off, length); } + public Packer packByteBuffer(ByteBuffer buf) throws IOException { + packRaw(buf.remaining()); + return packRawBody(buf.array(), buf.arrayOffset() + buf.position(), buf.remaining()); + } + public Packer packString(String s) throws IOException { byte[] b = ((String)s).getBytes("UTF-8"); packRaw(b.length); @@ -495,9 +500,8 @@ public class Packer { public Packer pack(ByteBuffer o) throws IOException { if (o == null) { return packNil(); } - ByteBuffer buf = (ByteBuffer) o; - packRaw(buf.remaining()); - return packRawBody(buf.array(), buf.arrayOffset() + buf.position(), buf.remaining()); + packRaw(o.remaining()); + return packRawBody(o.array(), o.arrayOffset() + o.position(), o.remaining()); } public Packer pack(List o) throws IOException {