summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2010-10-20 16:32:01 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2010-10-20 16:32:01 +0900
commit4067c56b5dde019d945c4d16acebf033f3c97403 (patch)
treebf4e4645691913dbcb0190fb1a4b437372f27fe2 /java/src
parent65515638aae2d9ab678a67d9f8edd0ea8ffe4457 (diff)
downloadmsgpack-python-4067c56b5dde019d945c4d16acebf033f3c97403.tar.gz
java: supports Collection<T> to pack
Diffstat (limited to 'java/src')
-rw-r--r--java/src/main/java/org/msgpack/Packer.java6
-rw-r--r--java/src/main/java/org/msgpack/Templates.java5
2 files changed, 11 insertions, 0 deletions
diff --git a/java/src/main/java/org/msgpack/Packer.java b/java/src/main/java/org/msgpack/Packer.java
index 704481d..a10bf19 100644
--- a/java/src/main/java/org/msgpack/Packer.java
+++ b/java/src/main/java/org/msgpack/Packer.java
@@ -23,6 +23,7 @@ import java.nio.ByteBuffer;
import java.util.List;
import java.util.Set;
import java.util.Map;
+import java.util.Collection;
import java.math.BigInteger;
import org.msgpack.annotation.MessagePackDelegate;
@@ -480,6 +481,11 @@ public class Packer {
pack(e.getValue());
}
return this;
+ } else if(o instanceof Collection) {
+ Collection<Object> l = (Collection<Object>)o;
+ packArray(l.size());
+ for(Object i : l) { pack(i); }
+ return this;
//} else if(o instanceof Boolean) {
// if((Boolean)o) {
// return packTrue();
diff --git a/java/src/main/java/org/msgpack/Templates.java b/java/src/main/java/org/msgpack/Templates.java
index b693840..270f59b 100644
--- a/java/src/main/java/org/msgpack/Templates.java
+++ b/java/src/main/java/org/msgpack/Templates.java
@@ -30,6 +30,10 @@ public class Templates {
return new MapTemplate(keyTemplate, valueTemplate);
}
+ public static Template tCollection(Template elementTemplate) {
+ return new CollectionTemplate(elementTemplate);
+ }
+
public static Template tClass(Class target) {
return new ClassTemplate(target);
}
@@ -84,5 +88,6 @@ public class Templates {
public static Template tByteArray() {
return TByteArray;
}
+
}