diff --git a/java/src/main/java/org/msgpack/MessagePackObject.java b/java/src/main/java/org/msgpack/MessagePackObject.java index 8dd9d8b5..547a4b9f 100644 --- a/java/src/main/java/org/msgpack/MessagePackObject.java +++ b/java/src/main/java/org/msgpack/MessagePackObject.java @@ -21,6 +21,8 @@ import java.util.List; import java.util.Set; import java.util.Map; import java.math.BigInteger; +import org.msgpack.template.ClassTemplate; +import org.msgpack.template.NullableTemplate; public abstract class MessagePackObject implements Cloneable, MessagePackable { static { @@ -140,5 +142,10 @@ public abstract class MessagePackObject implements Cloneable, MessagePackable { public Object convert(Template tmpl) throws MessageTypeException { return tmpl.convert(this); } + + public T convert(Class klass) throws MessageTypeException { + // FIXME nullable? + return (T)convert(new NullableTemplate(new ClassTemplate(klass))); + } }