From 419d2e9564d9fb5cb461930389dd9d0a05c1e1cc Mon Sep 17 00:00:00 2001 From: Muga Nishizawa Date: Sun, 12 Dec 2010 00:46:05 +0900 Subject: [PATCH] java: change spec. of pack methods in several template classes as follow: If user passes null object to the pack method, MessageTypeException is thrown. --- .../java/org/msgpack/template/BigIntegerTemplate.java | 6 +++++- .../main/java/org/msgpack/template/BooleanTemplate.java | 6 +++++- .../java/org/msgpack/template/ByteArrayTemplate.java | 6 +++++- .../java/org/msgpack/template/ByteBufferTemplate.java | 9 ++++++--- .../main/java/org/msgpack/template/DoubleTemplate.java | 6 +++++- .../main/java/org/msgpack/template/FloatTemplate.java | 6 +++++- .../main/java/org/msgpack/template/IntegerTemplate.java | 6 +++++- .../src/main/java/org/msgpack/template/LongTemplate.java | 6 +++++- .../main/java/org/msgpack/template/StringTemplate.java | 6 +++++- 9 files changed, 46 insertions(+), 11 deletions(-) diff --git a/java/src/main/java/org/msgpack/template/BigIntegerTemplate.java b/java/src/main/java/org/msgpack/template/BigIntegerTemplate.java index 8a15f0c8..65389b8a 100644 --- a/java/src/main/java/org/msgpack/template/BigIntegerTemplate.java +++ b/java/src/main/java/org/msgpack/template/BigIntegerTemplate.java @@ -25,7 +25,11 @@ public class BigIntegerTemplate implements Template { private BigIntegerTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packBigInteger((BigInteger)target); + try { + pk.packBigInteger((BigInteger)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/BooleanTemplate.java b/java/src/main/java/org/msgpack/template/BooleanTemplate.java index a3582de7..a756a62d 100644 --- a/java/src/main/java/org/msgpack/template/BooleanTemplate.java +++ b/java/src/main/java/org/msgpack/template/BooleanTemplate.java @@ -24,7 +24,11 @@ public class BooleanTemplate implements Template { private BooleanTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packBoolean((Boolean)target); + try { + pk.packBoolean((Boolean)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/ByteArrayTemplate.java b/java/src/main/java/org/msgpack/template/ByteArrayTemplate.java index c87f01d1..038a5413 100644 --- a/java/src/main/java/org/msgpack/template/ByteArrayTemplate.java +++ b/java/src/main/java/org/msgpack/template/ByteArrayTemplate.java @@ -24,7 +24,11 @@ public class ByteArrayTemplate implements Template { private ByteArrayTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packByteArray((byte[])target); + try { + pk.packByteArray((byte[])target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/ByteBufferTemplate.java b/java/src/main/java/org/msgpack/template/ByteBufferTemplate.java index d23362f5..b84c3da4 100644 --- a/java/src/main/java/org/msgpack/template/ByteBufferTemplate.java +++ b/java/src/main/java/org/msgpack/template/ByteBufferTemplate.java @@ -26,11 +26,14 @@ public class ByteBufferTemplate implements Template { } public void pack(Packer pk, Object target) throws IOException { - pk.pack((ByteBuffer) target); + try { + pk.packByteBuffer((ByteBuffer) target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } - public Object unpack(Unpacker pac, Object to) throws IOException, - MessageTypeException { + public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { return pac.unpackByteBuffer(); } diff --git a/java/src/main/java/org/msgpack/template/DoubleTemplate.java b/java/src/main/java/org/msgpack/template/DoubleTemplate.java index 034889df..b76a307d 100644 --- a/java/src/main/java/org/msgpack/template/DoubleTemplate.java +++ b/java/src/main/java/org/msgpack/template/DoubleTemplate.java @@ -24,7 +24,11 @@ public class DoubleTemplate implements Template { private DoubleTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packDouble(((Double)target)); + try { + pk.packDouble(((Double)target)); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/FloatTemplate.java b/java/src/main/java/org/msgpack/template/FloatTemplate.java index 88dd8a84..823d893e 100644 --- a/java/src/main/java/org/msgpack/template/FloatTemplate.java +++ b/java/src/main/java/org/msgpack/template/FloatTemplate.java @@ -24,7 +24,11 @@ public class FloatTemplate implements Template { private FloatTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packFloat((Float)target); + try { + pk.packFloat((Float)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/IntegerTemplate.java b/java/src/main/java/org/msgpack/template/IntegerTemplate.java index f8f73513..f20d36cf 100644 --- a/java/src/main/java/org/msgpack/template/IntegerTemplate.java +++ b/java/src/main/java/org/msgpack/template/IntegerTemplate.java @@ -24,7 +24,11 @@ public class IntegerTemplate implements Template { private IntegerTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packInt((Integer)target); + try { + pk.packInt((Integer)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/LongTemplate.java b/java/src/main/java/org/msgpack/template/LongTemplate.java index 17a3122f..28bad53c 100644 --- a/java/src/main/java/org/msgpack/template/LongTemplate.java +++ b/java/src/main/java/org/msgpack/template/LongTemplate.java @@ -24,7 +24,11 @@ public class LongTemplate implements Template { private LongTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packLong((Long)target); + try { + pk.packLong((Long)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException { diff --git a/java/src/main/java/org/msgpack/template/StringTemplate.java b/java/src/main/java/org/msgpack/template/StringTemplate.java index 68ad1578..0cb63810 100644 --- a/java/src/main/java/org/msgpack/template/StringTemplate.java +++ b/java/src/main/java/org/msgpack/template/StringTemplate.java @@ -24,7 +24,11 @@ public class StringTemplate implements Template { private StringTemplate() { } public void pack(Packer pk, Object target) throws IOException { - pk.packString((String)target); + try { + pk.packString((String)target); + } catch (NullPointerException e) { + throw new MessageTypeException("target is null.", e); + } } public Object unpack(Unpacker pac, Object to) throws IOException, MessageTypeException {