summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorMuga Nishizawa <muga@f11vm.(none)>2010-10-23 23:13:17 +0900
committerMuga Nishizawa <muga@f11vm.(none)>2010-10-23 23:13:17 +0900
commit57446de875ab7f7d7515923f41d833cd5655eacb (patch)
tree422d6cf09c367672c269c568cab80999e7342f90 /java
parent3473800ab652683f02f2ac6709ae88419e016ff8 (diff)
downloadmsgpack-python-57446de875ab7f7d7515923f41d833cd5655eacb.tar.gz
java: refactor org.msgpack.util.codegen.*.java
Diffstat (limited to 'java')
-rw-r--r--java/src/main/java/org/msgpack/util/codegen/Constants.java52
-rw-r--r--java/src/main/java/org/msgpack/util/codegen/DynamicCodeGenBase.java65
-rw-r--r--java/src/main/java/org/msgpack/util/codegen/DynamicPacker.java4
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 7474bd3..1932739 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 43db5c6..f45764f 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 a483c02..fe0095c 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);