From 57446de875ab7f7d7515923f41d833cd5655eacb Mon Sep 17 00:00:00 2001 From: Muga Nishizawa Date: Sat, 23 Oct 2010 23:13:17 +0900 Subject: [PATCH] java: refactor org.msgpack.util.codegen.*.java --- .../org/msgpack/util/codegen/Constants.java | 52 --------------- .../util/codegen/DynamicCodeGenBase.java | 65 +------------------ .../msgpack/util/codegen/DynamicPacker.java | 4 +- 3 files changed, 4 insertions(+), 117 deletions(-) diff --git a/java/src/main/java/org/msgpack/util/codegen/Constants.java b/java/src/main/java/org/msgpack/util/codegen/Constants.java index 7474bd31..19327398 100644 --- a/java/src/main/java/org/msgpack/util/codegen/Constants.java +++ b/java/src/main/java/org/msgpack/util/codegen/Constants.java @@ -68,58 +68,6 @@ public interface Constants { String METHOD_NAME_UNPACK = "unpack"; - String METHOD_NAME_UNPACKBOOLEAN = "unpackBoolean"; - - String METHOD_NAME_UNPACKBYTE = "unpackByte"; - - String METHOD_NAME_UNPACKDOUBLE = "unpackDouble"; - - String METHOD_NAME_UNPACKFLOAT = "unpackFloat"; - - String METHOD_NAME_UNPACKINT = "unpackInt"; - - String METHOD_NAME_UNPACKLONG = "unpackLong"; - - String METHOD_NAME_UNPACKSHORT = "unpackShort"; - - String METHOD_NAME_UNPACKSTRING = "unpackString"; - - String METHOD_NAME_UNPACKBIGINTEGER = "unpackBigInteger"; - - String METHOD_NAME_UNPACKOBJECT = "unpackObject"; - - String METHOD_NAME_UNPACKBYTEARRAY = "unpackByteArray"; - - String METHOD_NAME_UNPACKARRAY = "unpackArray"; - - String METHOD_NAME_UNPACKMAP = "unpackMap"; - - String METHOD_NAME_ASARRAY = "asArray"; - - String METHOD_NAME_ASBOOLEAN = "asBoolean"; - - String METHOD_NAME_ASBYTE = "asByte"; - - String METHOD_NAME_ASSHORT = "asShort"; - - String METHOD_NAME_ASINT = "asInt"; - - String METHOD_NAME_ASFLOAT = "asFloat"; - - String METHOD_NAME_ASLONG = "asLong"; - - String METHOD_NAME_ASDOUBLE = "asDouble"; - - String METHOD_NAME_ASSTRING = "asString"; - - String METHOD_NAME_ASBYTEARRAY = "asByteArray"; - - String METHOD_NAME_ASBIGINTEGER = "asBigInteger"; - - String METHOD_NAME_ASLIST = "asList"; - - String METHOD_NAME_ASMAP = "asMap"; - String STATEMENT_PACKER_PACKERMETHODBODY_01 = "%s _$$_t = (%s)$2; "; String STATEMENT_PACKER_PACKERMETHODBODY_02 = "$1.packArray(%d); "; diff --git a/java/src/main/java/org/msgpack/util/codegen/DynamicCodeGenBase.java b/java/src/main/java/org/msgpack/util/codegen/DynamicCodeGenBase.java index 43db5c6c..f45764f4 100644 --- a/java/src/main/java/org/msgpack/util/codegen/DynamicCodeGenBase.java +++ b/java/src/main/java/org/msgpack/util/codegen/DynamicCodeGenBase.java @@ -207,11 +207,11 @@ public class DynamicCodeGenBase implements Constants { } } - static interface TemplateAccessor { + public static interface TemplateAccessor { void setTemplates(Template[] templates); } - static class TemplateAccessorImpl implements TemplateAccessor { + protected static class TemplateAccessorImpl implements TemplateAccessor { public Class type; public Template[] _$$_templates; @@ -416,67 +416,6 @@ public class DynamicCodeGenBase implements Constants { } } - public String getUnpackMethodName(Class c) - throws DynamicCodeGenException { - if (c.equals(boolean.class) || c.equals(Boolean.class)) { - return METHOD_NAME_UNPACKBOOLEAN; - } else if (c.equals(byte.class) || c.equals(Byte.class)) { - return METHOD_NAME_UNPACKBYTE; - } else if (c.equals(short.class) || c.equals(Short.class)) { - return METHOD_NAME_UNPACKSHORT; - } else if (c.equals(int.class) || c.equals(Integer.class)) { - return METHOD_NAME_UNPACKINT; - } else if (c.equals(float.class) || c.equals(Float.class)) { - return METHOD_NAME_UNPACKFLOAT; - } else if (c.equals(long.class) || c.equals(Long.class)) { - return METHOD_NAME_UNPACKLONG; - } else if (c.equals(double.class) || c.equals(Double.class)) { - return METHOD_NAME_UNPACKDOUBLE; - } else if (c.equals(String.class)) { - return METHOD_NAME_UNPACKSTRING; - } else if (c.equals(byte[].class)) { - return METHOD_NAME_UNPACKBYTEARRAY; - } else if (c.equals(BigInteger.class)) { - return METHOD_NAME_UNPACKBIGINTEGER; - } else if (List.class.isAssignableFrom(c)) { - return METHOD_NAME_UNPACK; - } else if (Map.class.isAssignableFrom(c)) { - return METHOD_NAME_UNPACK; - } else { - throw new DynamicCodeGenException("Type error: " + c.getName()); - } - } - - public String getAsMethodName(Class c) { - if (c.equals(boolean.class) || c.equals(Boolean.class)) { - return METHOD_NAME_ASBOOLEAN; - } else if (c.equals(byte.class) || c.equals(Byte.class)) { - return METHOD_NAME_ASBYTE; - } else if (c.equals(short.class) || c.equals(Short.class)) { - return METHOD_NAME_ASSHORT; - } else if (c.equals(int.class) || c.equals(Integer.class)) { - return METHOD_NAME_ASINT; - } else if (c.equals(float.class) || c.equals(Float.class)) { - return METHOD_NAME_ASFLOAT; - } else if (c.equals(long.class) || c.equals(Long.class)) { - return METHOD_NAME_ASLONG; - } else if (c.equals(double.class) || c.equals(Double.class)) { - return METHOD_NAME_ASDOUBLE; - } else if (c.equals(String.class)) { - return METHOD_NAME_ASSTRING; - } else if (c.equals(byte[].class)) { - return METHOD_NAME_ASBYTEARRAY; - } else if (c.equals(BigInteger.class)) { - return METHOD_NAME_ASBIGINTEGER; - } else if (List.class.isAssignableFrom(c)) { - return METHOD_NAME_ASLIST; - } else if (Map.class.isAssignableFrom(c)) { - return METHOD_NAME_ASMAP; - } else { - throw new DynamicCodeGenException("Type error: " + c.getName()); - } - } - public static MessagePacker toMessagePacker(Template tmpl) { if (tmpl instanceof BigIntegerTemplate) { return BigIntegerPacker.getInstance(); diff --git a/java/src/main/java/org/msgpack/util/codegen/DynamicPacker.java b/java/src/main/java/org/msgpack/util/codegen/DynamicPacker.java index a483c02e..fe0095c1 100644 --- a/java/src/main/java/org/msgpack/util/codegen/DynamicPacker.java +++ b/java/src/main/java/org/msgpack/util/codegen/DynamicPacker.java @@ -37,8 +37,8 @@ public class DynamicPacker { Constructor cons = packerClass .getDeclaredConstructor(new Class[] { Class.class }); Object obj = cons.newInstance(new Object[] { c }); - ((MessagePackerAccessor) obj).setMessagePackers(gen - .getMessagePackers(c)); + MessagePacker[] packers = gen.getMessagePackers(c); + ((MessagePackerAccessor) obj).setMessagePackers(packers); return (MessagePacker) obj; } catch (InstantiationException e) { throw new DynamicCodeGenException(e.getMessage(), e);