summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2010-08-10 14:11:44 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2010-08-10 14:11:44 +0900
commit057f73a73e0c3ddabe92f1cd2c394fe4afa13514 (patch)
tree69e8c5fcc5dad87704f0d09eb03ed7fd426e5af6 /java/src
parentd3bb37d113575e8b36f44c06ac9eeb6b406aa298 (diff)
downloadmsgpack-python-057f73a73e0c3ddabe92f1cd2c394fe4afa13514.tar.gz
java: implements MessagePackObject::hashCode()
Diffstat (limited to 'java/src')
-rw-r--r--java/src/main/java/org/msgpack/object/ArrayType.java5
-rw-r--r--java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java5
-rw-r--r--java/src/main/java/org/msgpack/object/BooleanType.java9
-rw-r--r--java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java6
-rw-r--r--java/src/main/java/org/msgpack/object/FloatTypeIMPL.java5
-rw-r--r--java/src/main/java/org/msgpack/object/LongIntegerTypeIMPL.java5
-rw-r--r--java/src/main/java/org/msgpack/object/MapType.java5
-rw-r--r--java/src/main/java/org/msgpack/object/NilType.java5
-rw-r--r--java/src/main/java/org/msgpack/object/RawType.java5
-rw-r--r--java/src/main/java/org/msgpack/object/ShortIntegerTypeIMPL.java5
10 files changed, 55 insertions, 0 deletions
diff --git a/java/src/main/java/org/msgpack/object/ArrayType.java b/java/src/main/java/org/msgpack/object/ArrayType.java
index 694f53f..350ce32 100644
--- a/java/src/main/java/org/msgpack/object/ArrayType.java
+++ b/java/src/main/java/org/msgpack/object/ArrayType.java
@@ -61,6 +61,11 @@ public class ArrayType extends MessagePackObject {
}
@Override
+ public int hashCode() {
+ return array.hashCode();
+ }
+
+ @Override
public Object clone() {
MessagePackObject[] copy = new MessagePackObject[array.length];
for(int i=0; i < array.length; i++) {
diff --git a/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java b/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java
index f7c73ae..fd517e7 100644
--- a/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java
+++ b/java/src/main/java/org/msgpack/object/BigIntegerTypeIMPL.java
@@ -104,6 +104,11 @@ class BigIntegerTypeIMPL extends IntegerType {
}
@Override
+ public int hashCode() {
+ return value.hashCode();
+ }
+
+ @Override
public Object clone() {
return new BigIntegerTypeIMPL(value);
}
diff --git a/java/src/main/java/org/msgpack/object/BooleanType.java b/java/src/main/java/org/msgpack/object/BooleanType.java
index c6e4f30..1d12c1c 100644
--- a/java/src/main/java/org/msgpack/object/BooleanType.java
+++ b/java/src/main/java/org/msgpack/object/BooleanType.java
@@ -51,6 +51,15 @@ public class BooleanType extends MessagePackObject {
}
@Override
+ public int hashCode() {
+ if(value) {
+ return 1231;
+ } else {
+ return 1237;
+ }
+ }
+
+ @Override
public Object clone() {
return new BooleanType(value);
}
diff --git a/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java b/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java
index dafe540..b47a709 100644
--- a/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java
+++ b/java/src/main/java/org/msgpack/object/DoubleTypeIMPL.java
@@ -83,6 +83,12 @@ class DoubleTypeIMPL extends FloatType {
}
@Override
+ public int hashCode() {
+ long v = Double.doubleToLongBits(value);
+ return (int)(v^(v>>>32));
+ }
+
+ @Override
public Object clone() {
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 234b2ad..1d79961 100644
--- a/java/src/main/java/org/msgpack/object/FloatTypeIMPL.java
+++ b/java/src/main/java/org/msgpack/object/FloatTypeIMPL.java
@@ -82,6 +82,11 @@ class FloatTypeIMPL extends FloatType {
}
@Override
+ public int hashCode() {
+ return Float.floatToIntBits(value);
+ }
+
+ @Override
public Object clone() {
return new FloatTypeIMPL(value);
}
diff --git a/java/src/main/java/org/msgpack/object/LongIntegerTypeIMPL.java b/java/src/main/java/org/msgpack/object/LongIntegerTypeIMPL.java
index 0ce22a2..940ab6f 100644
--- a/java/src/main/java/org/msgpack/object/LongIntegerTypeIMPL.java
+++ b/java/src/main/java/org/msgpack/object/LongIntegerTypeIMPL.java
@@ -101,6 +101,11 @@ class LongIntegerTypeIMPL extends IntegerType {
}
@Override
+ public int hashCode() {
+ return (int)(value^(value>>>32));
+ }
+
+ @Override
public Object clone() {
return new LongIntegerTypeIMPL(value);
}
diff --git a/java/src/main/java/org/msgpack/object/MapType.java b/java/src/main/java/org/msgpack/object/MapType.java
index d456e78..619d388 100644
--- a/java/src/main/java/org/msgpack/object/MapType.java
+++ b/java/src/main/java/org/msgpack/object/MapType.java
@@ -64,6 +64,11 @@ public class MapType extends MessagePackObject {
}
@Override
+ public int hashCode() {
+ return map.hashCode();
+ }
+
+ @Override
public Object clone() {
MessagePackObject[] copy = new MessagePackObject[map.length];
for(int i=0; i < map.length; i++) {
diff --git a/java/src/main/java/org/msgpack/object/NilType.java b/java/src/main/java/org/msgpack/object/NilType.java
index 7a46376..ece62f0 100644
--- a/java/src/main/java/org/msgpack/object/NilType.java
+++ b/java/src/main/java/org/msgpack/object/NilType.java
@@ -40,6 +40,11 @@ public class NilType extends MessagePackObject {
}
@Override
+ public int hashCode() {
+ return 0;
+ }
+
+ @Override
public Object clone() {
return new NilType();
}
diff --git a/java/src/main/java/org/msgpack/object/RawType.java b/java/src/main/java/org/msgpack/object/RawType.java
index 18a419d..3a39486 100644
--- a/java/src/main/java/org/msgpack/object/RawType.java
+++ b/java/src/main/java/org/msgpack/object/RawType.java
@@ -62,6 +62,11 @@ public class RawType extends MessagePackObject {
}
@Override
+ public int hashCode() {
+ return bytes.hashCode();
+ }
+
+ @Override
public Object clone() {
return new RawType((byte[])bytes.clone());
}
diff --git a/java/src/main/java/org/msgpack/object/ShortIntegerTypeIMPL.java b/java/src/main/java/org/msgpack/object/ShortIntegerTypeIMPL.java
index 83a4daf..60e92b8 100644
--- a/java/src/main/java/org/msgpack/object/ShortIntegerTypeIMPL.java
+++ b/java/src/main/java/org/msgpack/object/ShortIntegerTypeIMPL.java
@@ -103,6 +103,11 @@ class ShortIntegerTypeIMPL extends IntegerType {
}
@Override
+ public int hashCode() {
+ return value;
+ }
+
+ @Override
public Object clone() {
return new ShortIntegerTypeIMPL(value);
}