From 02ae247536ec5570c3a150de8283ef399aaf82eb Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sat, 24 Jul 2010 18:20:00 +0900 Subject: [PATCH] java: adds MessagePackObject class 2 --- .../msgpack/object/BigIntegerTypeIMPL.java | 2 +- .../java/org/msgpack/object/BooleanType.java | 2 +- .../org/msgpack/object/DoubleTypeIMPL.java | 2 +- .../java/org/msgpack/object/FloatType.java | 8 ++++ .../org/msgpack/object/FloatTypeIMPL.java | 2 +- .../java/org/msgpack/object/IntegerType.java | 10 ++-- .../main/java/org/msgpack/object/MapType.java | 4 +- .../main/java/org/msgpack/object/RawType.java | 48 +++++++++++++++++++ 8 files changed, 67 insertions(+), 11 deletions(-) create mode 100644 java/src/main/java/org/msgpack/object/RawType.java diff --git a/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java b/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java index 1d638c9d..1ebb83df 100644 --- a/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java +++ b/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java @@ -23,7 +23,7 @@ import org.msgpack.*; class BigIntegerTypeIMPL extends IntegerType { private BigInteger value; - BigIntegerTypeIMPL(BigInteger vlaue) { + BigIntegerTypeIMPL(BigInteger value) { this.value = value; } diff --git a/java/src/main/java/org/msgpack/object/BooleanType.java b/java/src/main/java/org/msgpack/object/BooleanType.java index c9e84b61..d272b6f0 100644 --- a/java/src/main/java/org/msgpack/object/BooleanType.java +++ b/java/src/main/java/org/msgpack/object/BooleanType.java @@ -28,7 +28,7 @@ public class BooleanType extends MessagePackObject { @Override public boolean isBooleanType() { - return false; + return true; } @Override diff --git a/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java b/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java index 0e33d5b3..8bbc52ac 100644 --- a/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java +++ b/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java @@ -23,7 +23,7 @@ import org.msgpack.*; class DoubleTypeIMPL extends FloatType { private double value; - public DoubleTypeIMPL(double vlaue) { + public DoubleTypeIMPL(double value) { this.value = value; } diff --git a/java/src/main/java/org/msgpack/object/FloatType.java b/java/src/main/java/org/msgpack/object/FloatType.java index 2782ddaa..514efd5b 100644 --- a/java/src/main/java/org/msgpack/object/FloatType.java +++ b/java/src/main/java/org/msgpack/object/FloatType.java @@ -24,5 +24,13 @@ public abstract class FloatType extends MessagePackObject { public boolean isFloatType() { return true; } + + public static FloatType create(float value) { + return new FloatTypeIMPL(value); + } + + public static FloatType create(double value) { + return new DoubleTypeIMPL(value); + } } diff --git a/java/src/main/java/org/msgpack/object/FloatTypeIMPL.java b/java/src/main/java/org/msgpack/object/FloatTypeIMPL.java index 75a50701..8821640e 100644 --- a/java/src/main/java/org/msgpack/object/FloatTypeIMPL.java +++ b/java/src/main/java/org/msgpack/object/FloatTypeIMPL.java @@ -23,7 +23,7 @@ import org.msgpack.*; class FloatTypeIMPL extends FloatType { private float value; - public FloatTypeIMPL(float vlaue) { + public FloatTypeIMPL(float value) { this.value = value; } diff --git a/java/src/main/java/org/msgpack/object/IntegerType.java b/java/src/main/java/org/msgpack/object/IntegerType.java index d6a9b541..43357e8e 100644 --- a/java/src/main/java/org/msgpack/object/IntegerType.java +++ b/java/src/main/java/org/msgpack/object/IntegerType.java @@ -21,6 +21,11 @@ import java.math.BigInteger; import org.msgpack.*; public abstract class IntegerType extends MessagePackObject { + @Override + public boolean isIntegerType() { + return true; + } + public static IntegerType create(byte value) { return new ShortIntegerTypeIMPL((int)value); } @@ -40,10 +45,5 @@ public abstract class IntegerType extends MessagePackObject { public static IntegerType create(BigInteger value) { return new BigIntegerTypeIMPL(value); } - - @Override - public boolean isIntegerType() { - return true; - } } diff --git a/java/src/main/java/org/msgpack/object/MapType.java b/java/src/main/java/org/msgpack/object/MapType.java index dbd145b8..359ebe6a 100644 --- a/java/src/main/java/org/msgpack/object/MapType.java +++ b/java/src/main/java/org/msgpack/object/MapType.java @@ -22,7 +22,7 @@ import java.util.Map; import org.msgpack.*; public class MapType extends MessagePackObject { - MessagePackObject[] map; + private MessagePackObject[] map; public MapType(MessagePackObject[] map) { this.map = map; @@ -30,7 +30,7 @@ public class MapType extends MessagePackObject { @Override public boolean isMapType() { - return false; + return true; } @Override diff --git a/java/src/main/java/org/msgpack/object/RawType.java b/java/src/main/java/org/msgpack/object/RawType.java new file mode 100644 index 00000000..107ba278 --- /dev/null +++ b/java/src/main/java/org/msgpack/object/RawType.java @@ -0,0 +1,48 @@ +// +// MessagePack for Java +// +// Copyright (C) 2009-2010 FURUHASHI Sadayuki +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +package org.msgpack.object; + +import org.msgpack.*; + +class RawType extends MessagePackObject { + private byte[] bytes; + + public RawType(byte[] bytes) { + this.bytes = bytes; + } + + @Override + public boolean isRawType() { + return true; + } + + @Override + public byte[] asByteArray() { + return bytes; + } + + @Override + public String asString() { + try { + return new String(bytes, "UTF-8"); + } catch (Exception e) { + throw new MessageTypeException("type error"); + } + } +} +