java: adds actual generic templates

This commit is contained in:
FURUHASHI Sadayuki 2010-12-01 20:36:52 +09:00
parent eb5d326a1e
commit a3cd13b399
3 changed files with 21 additions and 0 deletions

View File

@ -24,6 +24,8 @@ import java.io.IOException;
import org.msgpack.*;
public class CollectionTemplate implements Template {
public static void load() { }
private Template elementTemplate;
public CollectionTemplate(Template elementTemplate) {
@ -72,5 +74,10 @@ public class CollectionTemplate implements Template {
}
return list;
}
static {
TemplateRegistry.registerGeneric(Collection.class, new GenericTemplate1(CollectionTemplate.class));
TemplateRegistry.register(Collection.class, new CollectionTemplate(AnyTemplate.getInstance()));
}
}

View File

@ -23,6 +23,8 @@ import java.io.IOException;
import org.msgpack.*;
public class ListTemplate implements Template {
static void load() { }
private Template elementTemplate;
public ListTemplate(Template elementTemplate) {
@ -75,5 +77,10 @@ public class ListTemplate implements Template {
}
return list;
}
static {
TemplateRegistry.registerGeneric(List.class, new GenericTemplate1(ListTemplate.class));
TemplateRegistry.register(List.class, new ListTemplate(AnyTemplate.getInstance()));
}
}

View File

@ -23,6 +23,8 @@ import java.io.IOException;
import org.msgpack.*;
public class MapTemplate implements Template {
static void load() { }
private Template keyTemplate;
private Template valueTemplate;
@ -86,5 +88,10 @@ public class MapTemplate implements Template {
}
return map;
}
static {
TemplateRegistry.registerGeneric(Map.class, new GenericTemplate2(MapTemplate.class));
TemplateRegistry.register(Map.class, new MapTemplate(AnyTemplate.getInstance(), AnyTemplate.getInstance()));
}
}