From a3cd13b3994aeeef6d45405eb6226ff953f5c59e Mon Sep 17 00:00:00 2001 From: FURUHASHI Sadayuki Date: Wed, 1 Dec 2010 20:36:52 +0900 Subject: [PATCH] java: adds actual generic templates --- .../main/java/org/msgpack/template/CollectionTemplate.java | 7 +++++++ java/src/main/java/org/msgpack/template/ListTemplate.java | 7 +++++++ java/src/main/java/org/msgpack/template/MapTemplate.java | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/java/src/main/java/org/msgpack/template/CollectionTemplate.java b/java/src/main/java/org/msgpack/template/CollectionTemplate.java index 1621636e..b88500c3 100644 --- a/java/src/main/java/org/msgpack/template/CollectionTemplate.java +++ b/java/src/main/java/org/msgpack/template/CollectionTemplate.java @@ -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())); + } } diff --git a/java/src/main/java/org/msgpack/template/ListTemplate.java b/java/src/main/java/org/msgpack/template/ListTemplate.java index f3bd2738..b0a24f3e 100644 --- a/java/src/main/java/org/msgpack/template/ListTemplate.java +++ b/java/src/main/java/org/msgpack/template/ListTemplate.java @@ -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())); + } } diff --git a/java/src/main/java/org/msgpack/template/MapTemplate.java b/java/src/main/java/org/msgpack/template/MapTemplate.java index eeccd48b..9815e3b6 100644 --- a/java/src/main/java/org/msgpack/template/MapTemplate.java +++ b/java/src/main/java/org/msgpack/template/MapTemplate.java @@ -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())); + } }