diff --git a/java/src/main/java/org/msgpack/Packer.java b/java/src/main/java/org/msgpack/Packer.java index 52bd29d..f443f53 100644 --- a/java/src/main/java/org/msgpack/Packer.java +++ b/java/src/main/java/org/msgpack/Packer.java @@ -21,6 +21,7 @@ import java.io.OutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.util.List; +import java.util.Set; import java.util.Map; import java.math.BigInteger; @@ -449,6 +450,11 @@ public class Packer { packArray(l.size()); for(Object i : l) { pack(i); } return this; + } else if(o instanceof Set) { + Set l = (Set)o; + packArray(l.size()); + for(Object i : l) { pack(i); } + return this; } else if(o instanceof Map) { Map m = (Map)o; packMap(m.size()); diff --git a/java/src/main/java/org/msgpack/template/ClassTemplate.java b/java/src/main/java/org/msgpack/template/ClassTemplate.java index c529edd..9bb957c 100644 --- a/java/src/main/java/org/msgpack/template/ClassTemplate.java +++ b/java/src/main/java/org/msgpack/template/ClassTemplate.java @@ -21,6 +21,10 @@ import java.io.IOException; import org.msgpack.*; public class ClassTemplate implements Template { + static { + Templates.load(); + } + private Class klass; public ClassTemplate(Class klass) {