From dd452b05e3f9a3ff1c7213f06254d5d222dedb10 Mon Sep 17 00:00:00 2001 From: Muga Nishizawa Date: Fri, 19 Nov 2010 02:57:42 +0900 Subject: [PATCH] java: rollback MessagePack.java --- .../main/java/org/msgpack/MessagePack.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/java/src/main/java/org/msgpack/MessagePack.java b/java/src/main/java/org/msgpack/MessagePack.java index 4bb4fc4e..b7b176bc 100644 --- a/java/src/main/java/org/msgpack/MessagePack.java +++ b/java/src/main/java/org/msgpack/MessagePack.java @@ -161,21 +161,11 @@ public class MessagePack { } else { if (MessagePackTemplateProvider.class.isAssignableFrom(target)) { try { - Method m = target.getMethod("getTemplate", new Class[0]); - tmpl = (Template)m.invoke(null, new Object[0]); tmpl = ((MessagePackTemplateProvider) target.newInstance()).getTemplate(); } catch (InstantiationException e) { throw new RuntimeException(e); } catch (IllegalAccessException e) { throw new RuntimeException(e); - } catch (IllegalArgumentException e) { - throw new RuntimeException(e); - } catch (InvocationTargetException e) { - throw new RuntimeException(e); - } catch (SecurityException e) { - throw new RuntimeException(e); - } catch (NoSuchMethodException e) { - throw new RuntimeException(e); } } else { tmpl = DynamicTemplate.create(target); @@ -186,6 +176,22 @@ public class MessagePack { CustomConverter.register(target, tmpl); CustomUnpacker.register(target, tmpl); } + + public static class Foo implements MessagePackTemplateProvider { + public int f1; + + public int f2; + + public Foo() {} + + public Template getTemplate() { + return DynamicTemplate.create(Foo.class); + } + } + + public static void main(String[] args) throws Exception { + MessagePack.register(Foo.class); + } public static void register(Class target, FieldList opts) { Template tmpl = DynamicTemplate.create(target, opts);