java: adds NullableTemplate 2

This commit is contained in:
frsyuki 2010-11-09 02:07:53 +09:00
parent 95f01a5976
commit 517509db6e
11 changed files with 139 additions and 136 deletions

View file

@ -23,19 +23,16 @@ public class Templates {
public static void load() { }
public static Template tNullable(Template elementTemplate) {
return new NullableTemplate(elementTemplate);
}
public static final Template TAny = AnyTemplate.getInstance();
public static Template tAny() {
return TAny;
}
public static Template tOptional(Template elementTemplate) {
return new OptionalTemplate(elementTemplate);
}
public static Template tOptional(Template elementTemplate, Object defaultObject) {
return new OptionalTemplate(elementTemplate, defaultObject);
}
public static Template tList(Template elementTemplate) {
return new ListTemplate(elementTemplate);

View file

@ -23,6 +23,8 @@ import java.io.IOException;
import java.util.Iterator;
import java.nio.ByteBuffer;
import java.math.BigInteger;
import org.msgpack.template.ClassTemplate;
import org.msgpack.template.NullableTemplate;
/**
* Unpacker enables you to deserialize objects from stream.
@ -581,8 +583,8 @@ public class Unpacker implements Iterable<MessagePackObject> {
}
final public <T> T unpack(Class<T> klass) throws IOException, MessageTypeException {
// FIXME optional?
return (T)unpack(Templates.tOptional(Templates.tClass(klass)));
// FIXME nullable?
return (T)unpack(new NullableTemplate(new ClassTemplate(klass)));
}
}