diff --git a/java/src/main/java/org/msgpack/MessagePack.java b/java/src/main/java/org/msgpack/MessagePack.java index a650b797..27cfc506 100644 --- a/java/src/main/java/org/msgpack/MessagePack.java +++ b/java/src/main/java/org/msgpack/MessagePack.java @@ -22,7 +22,6 @@ import java.io.InputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import org.msgpack.template.TemplateRegistry; -import org.msgpack.template.TemplateClassWriter; import org.msgpack.template.FieldList; public class MessagePack { @@ -146,10 +145,6 @@ public class MessagePack { } } - public static void write(Class target, String directoryName) { - TemplateClassWriter.write(target, directoryName); - } - public static void register(Class target) { TemplateRegistry.register(target); } diff --git a/java/src/main/java/org/msgpack/MessagePackTemplateProvider.java b/java/src/main/java/org/msgpack/MessagePackTemplateProvider.java index 511625b7..8f7515b6 100644 --- a/java/src/main/java/org/msgpack/MessagePackTemplateProvider.java +++ b/java/src/main/java/org/msgpack/MessagePackTemplateProvider.java @@ -1,7 +1,7 @@ // // MessagePack for Java // -// Copyright (C) 2009-2010 FURUHASHI Sadayuki +// Copyright (C) 2009-2011 FURUHASHI Sadayuki // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,5 @@ package org.msgpack; public interface MessagePackTemplateProvider { - Template getTemplate(); } diff --git a/java/src/main/java/org/msgpack/template/TemplateBuildException.java b/java/src/main/java/org/msgpack/template/TemplateBuildException.java index c4c99566..f8560d1f 100644 --- a/java/src/main/java/org/msgpack/template/TemplateBuildException.java +++ b/java/src/main/java/org/msgpack/template/TemplateBuildException.java @@ -1,7 +1,7 @@ // // MessagePack for Java // -// Copyright (C) 2009-2010 FURUHASHI Sadayuki +// Copyright (C) 2009-2011 FURUHASHI Sadayuki // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/java/src/main/java/org/msgpack/template/builder/MessagePackMessageBuilderSelector.java b/java/src/main/java/org/msgpack/template/builder/AnnotationTemplateBuilderSelector.java similarity index 68% rename from java/src/main/java/org/msgpack/template/builder/MessagePackMessageBuilderSelector.java rename to java/src/main/java/org/msgpack/template/builder/AnnotationTemplateBuilderSelector.java index a4b3fe0c..10bf5e62 100644 --- a/java/src/main/java/org/msgpack/template/builder/MessagePackMessageBuilderSelector.java +++ b/java/src/main/java/org/msgpack/template/builder/AnnotationTemplateBuilderSelector.java @@ -22,34 +22,33 @@ import java.lang.reflect.Type; import org.msgpack.annotation.MessagePackMessage; -public class MessagePackMessageBuilderSelector implements BuilderSelector{ - - public static final String NAME = "MessagePackMessageTemplateBuilder"; - - +public class AnnotationTemplateBuilderSelector implements BuilderSelector{ + + public static final String NAME = "AnnotationTemplateBuilder"; + TemplateBuilder builder; - public MessagePackMessageBuilderSelector(TemplateBuilder builder){ + + public AnnotationTemplateBuilderSelector(TemplateBuilder builder){ this.builder = builder; } - - public String getName(){ + + @Override + public String getName(){ return NAME; } - + @Override public boolean matchType(Type targetType) { - Class target = (Class)targetType; - return isAnnotated(target, MessagePackMessage.class); + Class targetClass = (Class)targetType; + return isAnnotated(targetClass, MessagePackMessage.class); } @Override public TemplateBuilder getTemplateBuilder(Type targetType) { return builder; } - - private boolean isAnnotated(Class ao, Class with) { - return ao.getAnnotation(with) != null; + public static boolean isAnnotated(Class targetClass, Class with) { + return targetClass.getAnnotation(with) != null; } - } diff --git a/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilder.java b/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilder.java index 07e49dee..819a6e49 100644 --- a/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilder.java @@ -22,8 +22,6 @@ import java.lang.reflect.Array; import java.lang.reflect.GenericArrayType; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; -import java.util.HashMap; -import java.util.Map; import org.msgpack.AbstractTemplate; import org.msgpack.MessagePackObject; @@ -34,17 +32,12 @@ import org.msgpack.Unpacker; import org.msgpack.template.BooleanArrayTemplate; import org.msgpack.template.DoubleArrayTemplate; import org.msgpack.template.FloatArrayTemplate; -import org.msgpack.template.IFieldEntry; -import org.msgpack.template.IFieldEntryReader; import org.msgpack.template.IntArrayTemplate; import org.msgpack.template.LongArrayTemplate; import org.msgpack.template.ShortArrayTemplate; import org.msgpack.template.TemplateRegistry; -public class ArrayTemplateBuilder extends TemplateBuilder { - - - +public class ArrayTemplateBuilder implements TemplateBuilder { static class ReflectionObjectArrayTemplate extends AbstractTemplate { private Class componentClass; @@ -128,6 +121,7 @@ public class ArrayTemplateBuilder extends TemplateBuilder { return array; } } + @Override public Template buildTemplate(Type arrayType) { Type baseType; diff --git a/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilderSelector.java b/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilderSelector.java index 66428bef..eeefd7ec 100644 --- a/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilderSelector.java +++ b/java/src/main/java/org/msgpack/template/builder/ArrayTemplateBuilderSelector.java @@ -20,18 +20,17 @@ package org.msgpack.template.builder; import java.lang.reflect.GenericArrayType; import java.lang.reflect.Type; -import org.msgpack.Template; - public class ArrayTemplateBuilderSelector implements BuilderSelector { public static final String NAME = "ArrayTemplateBuilder"; + ArrayTemplateBuilder templateBuilder = new ArrayTemplateBuilder(); + @Override public String getName(){ return NAME; } - @Override public boolean matchType(Type targetType) { if(targetType instanceof GenericArrayType){ @@ -41,8 +40,6 @@ public class ArrayTemplateBuilderSelector implements BuilderSelector { return targetClass.isArray(); } - ArrayTemplateBuilder templateBuilder = new ArrayTemplateBuilder(); - @Override public TemplateBuilder getTemplateBuilder(Type target) { return templateBuilder; diff --git a/java/src/main/java/org/msgpack/template/javassist/BeansBuildContext.java b/java/src/main/java/org/msgpack/template/builder/BeansBuildContext.java similarity index 95% rename from java/src/main/java/org/msgpack/template/javassist/BeansBuildContext.java rename to java/src/main/java/org/msgpack/template/builder/BeansBuildContext.java index 6b4fa265..574ce76e 100644 --- a/java/src/main/java/org/msgpack/template/javassist/BeansBuildContext.java +++ b/java/src/main/java/org/msgpack/template/builder/BeansBuildContext.java @@ -15,33 +15,19 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template.javassist; +package org.msgpack.template.builder; -import java.io.IOException; -import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Type; -import java.lang.Thread; import org.msgpack.*; import org.msgpack.template.*; import javassist.CannotCompileException; -import javassist.ClassPool; import javassist.CtClass; import javassist.CtConstructor; -import javassist.CtMethod; import javassist.CtNewConstructor; -import javassist.CtNewMethod; -import javassist.LoaderClassPath; import javassist.NotFoundException; -import javassist.ClassClassPath; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - public class BeansBuildContext extends BuildContextBase { protected BeansFieldEntry[] entries; diff --git a/java/src/main/java/org/msgpack/template/BeansReflectionTemplateBuilder.java b/java/src/main/java/org/msgpack/template/builder/BeansTemplateBuilder.java similarity index 90% rename from java/src/main/java/org/msgpack/template/BeansReflectionTemplateBuilder.java rename to java/src/main/java/org/msgpack/template/builder/BeansTemplateBuilder.java index e97531f7..e5946dd7 100644 --- a/java/src/main/java/org/msgpack/template/BeansReflectionTemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/builder/BeansTemplateBuilder.java @@ -15,10 +15,9 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template; +package org.msgpack.template.builder; import java.io.IOException; -import java.lang.reflect.Field; import org.msgpack.AbstractTemplate; import org.msgpack.MessagePackObject; @@ -26,27 +25,22 @@ import org.msgpack.MessageTypeException; import org.msgpack.Packer; import org.msgpack.Template; import org.msgpack.Unpacker; -import org.msgpack.template.ReflectionTemplateBuilder.BooleanFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.ByteFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.DoubleFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.FloatFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.IntFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.LongFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.NullFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.ObjectFieldEntry; -import org.msgpack.template.ReflectionTemplateBuilder.ShortFieldEntry; -import org.msgpack.template.builder.CustomTemplateBuilder; +import org.msgpack.template.BeansFieldEntry; +import org.msgpack.template.BeansFieldEntryReader; +import org.msgpack.template.IFieldEntry; +import org.msgpack.template.IFieldEntryReader; +import org.msgpack.template.TemplateRegistry; /** * Class for building java reflection template builder for java beans class. * @author takeshita * */ -public class BeansReflectionTemplateBuilder extends CustomTemplateBuilder{ +public class BeansTemplateBuilder extends CustomTemplateBuilder{ IFieldEntryReader reader = new BeansFieldEntryReader(); - public BeansReflectionTemplateBuilder(){} + public BeansTemplateBuilder(){} @Override public IFieldEntryReader getFieldEntryReader(){ diff --git a/java/src/main/java/org/msgpack/template/builder/MessagePackBeansBuilderSelector.java b/java/src/main/java/org/msgpack/template/builder/BeansTemplateBuilderSelector.java similarity index 66% rename from java/src/main/java/org/msgpack/template/builder/MessagePackBeansBuilderSelector.java rename to java/src/main/java/org/msgpack/template/builder/BeansTemplateBuilderSelector.java index bec4a4f5..b875c2f7 100644 --- a/java/src/main/java/org/msgpack/template/builder/MessagePackBeansBuilderSelector.java +++ b/java/src/main/java/org/msgpack/template/builder/BeansTemplateBuilderSelector.java @@ -17,41 +17,33 @@ // package org.msgpack.template.builder; -import java.lang.annotation.Annotation; import java.lang.reflect.Type; import org.msgpack.annotation.MessagePackBeans; -import org.msgpack.annotation.MessagePackMessage; -public class MessagePackBeansBuilderSelector implements BuilderSelector{ - - public static final String NAME = "MessagePackBeansTemplateBuilder"; - - +public class BeansTemplateBuilderSelector implements BuilderSelector{ + + public static final String NAME = "BeansTemplateBuilder"; + TemplateBuilder builder; - public MessagePackBeansBuilderSelector(TemplateBuilder builder){ + + public BeansTemplateBuilderSelector(TemplateBuilder builder){ this.builder = builder; } - - + + @Override public String getName(){ return NAME; } - + @Override public boolean matchType(Type targetType) { - Class target = (Class)targetType; - return isAnnotated(target, MessagePackBeans.class); + Class targetClass = (Class)targetType; + return AnnotationTemplateBuilderSelector.isAnnotated(targetClass, MessagePackBeans.class); } @Override public TemplateBuilder getTemplateBuilder(Type targetType) { return builder; } - - - private boolean isAnnotated(Class ao, Class with) { - return ao.getAnnotation(with) != null; - } - } diff --git a/java/src/main/java/org/msgpack/template/javassist/BuildContext.java b/java/src/main/java/org/msgpack/template/builder/BuildContext.java similarity index 95% rename from java/src/main/java/org/msgpack/template/javassist/BuildContext.java rename to java/src/main/java/org/msgpack/template/builder/BuildContext.java index a3ab97d9..ccb05f52 100644 --- a/java/src/main/java/org/msgpack/template/javassist/BuildContext.java +++ b/java/src/main/java/org/msgpack/template/builder/BuildContext.java @@ -15,33 +15,19 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template.javassist; +package org.msgpack.template.builder; -import java.io.IOException; -import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Type; -import java.lang.Thread; import org.msgpack.*; import org.msgpack.template.*; import javassist.CannotCompileException; -import javassist.ClassPool; import javassist.CtClass; import javassist.CtConstructor; -import javassist.CtMethod; import javassist.CtNewConstructor; -import javassist.CtNewMethod; -import javassist.LoaderClassPath; import javassist.NotFoundException; -import javassist.ClassClassPath; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - public class BuildContext extends BuildContextBase { protected IFieldEntry[] entries; diff --git a/java/src/main/java/org/msgpack/template/javassist/BuildContextBase.java b/java/src/main/java/org/msgpack/template/builder/BuildContextBase.java similarity index 95% rename from java/src/main/java/org/msgpack/template/javassist/BuildContextBase.java rename to java/src/main/java/org/msgpack/template/builder/BuildContextBase.java index 1b2db02b..7253bfd4 100644 --- a/java/src/main/java/org/msgpack/template/javassist/BuildContextBase.java +++ b/java/src/main/java/org/msgpack/template/builder/BuildContextBase.java @@ -15,37 +15,26 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template.javassist; +package org.msgpack.template.builder; import java.io.IOException; -import java.lang.reflect.Array; -import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Type; -import java.lang.Thread; import org.msgpack.*; import org.msgpack.template.*; import javassist.CannotCompileException; -import javassist.ClassPool; import javassist.CtClass; -import javassist.CtConstructor; import javassist.CtMethod; -import javassist.CtNewConstructor; import javassist.CtNewMethod; -import javassist.LoaderClassPath; import javassist.NotFoundException; -import javassist.ClassClassPath; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - public abstract class BuildContextBase { private static Logger LOG = LoggerFactory.getLogger(JavassistTemplateBuilder.class); - protected JavassistTemplateBuilder director; @@ -70,10 +59,8 @@ public abstract class BuildContextBase { public BuildContextBase(JavassistTemplateBuilder director) { this.director = director; } - - - public abstract Template buildTemplate(Class targetClass, T[] entries, Template[] templates); + public abstract Template buildTemplate(Class targetClass, T[] entries, Template[] templates); protected Template build(final String className) { try { diff --git a/java/src/main/java/org/msgpack/template/javassist/BuildContextFactory.java b/java/src/main/java/org/msgpack/template/builder/BuildContextFactory.java similarity index 89% rename from java/src/main/java/org/msgpack/template/javassist/BuildContextFactory.java rename to java/src/main/java/org/msgpack/template/builder/BuildContextFactory.java index 1099482b..5974ef7f 100644 --- a/java/src/main/java/org/msgpack/template/javassist/BuildContextFactory.java +++ b/java/src/main/java/org/msgpack/template/builder/BuildContextFactory.java @@ -15,9 +15,8 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template.javassist; +package org.msgpack.template.builder; -import org.msgpack.template.JavassistTemplateBuilder; public interface BuildContextFactory { diff --git a/java/src/main/java/org/msgpack/template/builder/BuilderSelector.java b/java/src/main/java/org/msgpack/template/builder/BuilderSelector.java index 0691612e..8ca94b44 100644 --- a/java/src/main/java/org/msgpack/template/builder/BuilderSelector.java +++ b/java/src/main/java/org/msgpack/template/builder/BuilderSelector.java @@ -25,20 +25,9 @@ import java.lang.reflect.Type; * */ public interface BuilderSelector { - - - /** - * Name of this. - * @return - */ - public String getName(); - - - public abstract boolean matchType(Type targetType); - - - public abstract TemplateBuilder getTemplateBuilder(Type targetType); - - + String getName(); + boolean matchType(Type targetType); + + TemplateBuilder getTemplateBuilder(Type targetType); } diff --git a/java/src/main/java/org/msgpack/template/builder/BuilderSelectorRegistry.java b/java/src/main/java/org/msgpack/template/builder/BuilderSelectorRegistry.java index 02d365b8..f5d5a5be 100644 --- a/java/src/main/java/org/msgpack/template/builder/BuilderSelectorRegistry.java +++ b/java/src/main/java/org/msgpack/template/builder/BuilderSelectorRegistry.java @@ -22,13 +22,6 @@ import java.util.LinkedList; import java.util.List; import org.msgpack.template.BeansFieldEntryReader; -import org.msgpack.template.BeansReflectionTemplateBuilder; -import org.msgpack.template.JavassistTemplateBuilder; -import org.msgpack.template.ReflectionTemplateBuilder; -import org.msgpack.template.javassist.BeansBuildContext; -import org.msgpack.template.javassist.BuildContext; -import org.msgpack.template.javassist.BuildContextBase; -import org.msgpack.template.javassist.BuildContextFactory; /** * Registry for BuilderSelectors. @@ -38,8 +31,9 @@ import org.msgpack.template.javassist.BuildContextFactory; * */ public class BuilderSelectorRegistry { - + private static BuilderSelectorRegistry instance = new BuilderSelectorRegistry(); + static{ initForJava(); } @@ -50,26 +44,25 @@ public class BuilderSelectorRegistry { TemplateBuilder forceBuilder; - List builderSelectors = new LinkedList(); private BuilderSelectorRegistry(){ } + /** * initialize BuilderSelectors for basic java enviroment. */ private static void initForJava(){ - instance.append(new ArrayTemplateBuilderSelector()); if(isSupportJavassist()){ instance.append( - new MessagePackMessageBuilderSelector( + new AnnotationTemplateBuilderSelector( new JavassistTemplateBuilder())); instance.forceBuilder = new JavassistTemplateBuilder(); //Java beans - instance.append(new MessagePackBeansBuilderSelector( + instance.append(new BeansTemplateBuilderSelector( new JavassistTemplateBuilder( new BeansFieldEntryReader(), new BuildContextFactory() { @@ -81,17 +74,17 @@ public class BuilderSelectorRegistry { ))); }else{ instance.append( - new MessagePackMessageBuilderSelector( + new AnnotationTemplateBuilderSelector( new ReflectionTemplateBuilder())); instance.forceBuilder = new ReflectionTemplateBuilder(); //Java beans - instance.append(new MessagePackBeansBuilderSelector( - new BeansReflectionTemplateBuilder())); + instance.append(new BeansTemplateBuilderSelector( + new BeansTemplateBuilder())); } - instance.append(new MessagePackOrdinalEnumBuilderSelector()); - instance.append(new EnumBuilderSelector()); + instance.append(new OrdinalEnumTemplateBuilderSelector()); + instance.append(new EnumTemplateBuilderSelector()); } public static boolean isSupportJavassist(){ try { diff --git a/java/src/main/java/org/msgpack/template/builder/CustomTemplateBuilder.java b/java/src/main/java/org/msgpack/template/builder/CustomTemplateBuilder.java index a3875388..439371d7 100644 --- a/java/src/main/java/org/msgpack/template/builder/CustomTemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/builder/CustomTemplateBuilder.java @@ -25,14 +25,11 @@ import org.msgpack.template.FieldOption; import org.msgpack.template.IFieldEntry; import org.msgpack.template.IFieldEntryReader; import org.msgpack.template.TemplateBuildException; -import org.msgpack.template.javassist.BuildContextFactory; - -public abstract class CustomTemplateBuilder extends TemplateBuilder { +public abstract class CustomTemplateBuilder implements TemplateBuilder { public abstract IFieldEntryReader getFieldEntryReader(); - public abstract Template buildTemplate(Class targetClass , IFieldEntry[] entries); public Template buildTemplate(Class targetClass ,FieldOption implicitOption ){ diff --git a/java/src/main/java/org/msgpack/template/builder/EnumBuilderSelector.java b/java/src/main/java/org/msgpack/template/builder/EnumTemplateBuilderSelector.java similarity index 93% rename from java/src/main/java/org/msgpack/template/builder/EnumBuilderSelector.java rename to java/src/main/java/org/msgpack/template/builder/EnumTemplateBuilderSelector.java index 959aa9ec..816a2faf 100644 --- a/java/src/main/java/org/msgpack/template/builder/EnumBuilderSelector.java +++ b/java/src/main/java/org/msgpack/template/builder/EnumTemplateBuilderSelector.java @@ -19,25 +19,24 @@ package org.msgpack.template.builder; import java.lang.reflect.Type; -public class EnumBuilderSelector implements BuilderSelector { +public class EnumTemplateBuilderSelector implements BuilderSelector { public static final String NAME = "EnumTemplateBuilder"; - + + OrdinalEnumTemplateBuilder builder = new OrdinalEnumTemplateBuilder(); + + @Override public String getName(){ return NAME; } - + @Override public boolean matchType(Type targetType) { return ((Class)targetType).isEnum(); } - - OrdinalEnumTemplateBuilder builder = new OrdinalEnumTemplateBuilder(); - @Override public TemplateBuilder getTemplateBuilder(Type targetType) { return builder; } - } diff --git a/java/src/main/java/org/msgpack/template/javassist/JavassistTemplate.java b/java/src/main/java/org/msgpack/template/builder/JavassistTemplate.java similarity index 57% rename from java/src/main/java/org/msgpack/template/javassist/JavassistTemplate.java rename to java/src/main/java/org/msgpack/template/builder/JavassistTemplate.java index c3feabe2..84b8cc1b 100644 --- a/java/src/main/java/org/msgpack/template/javassist/JavassistTemplate.java +++ b/java/src/main/java/org/msgpack/template/builder/JavassistTemplate.java @@ -15,31 +15,10 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template.javassist; +package org.msgpack.template.builder; -import java.io.IOException; -import java.lang.reflect.Array; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Type; -import java.lang.Thread; - -import org.msgpack.*; -import org.msgpack.template.*; - -import javassist.CannotCompileException; -import javassist.ClassPool; -import javassist.CtClass; -import javassist.CtConstructor; -import javassist.CtMethod; -import javassist.CtNewConstructor; -import javassist.CtNewMethod; -import javassist.LoaderClassPath; -import javassist.NotFoundException; -import javassist.ClassClassPath; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.msgpack.AbstractTemplate; +import org.msgpack.Template; public abstract class JavassistTemplate extends AbstractTemplate { public Class targetClass; diff --git a/java/src/main/java/org/msgpack/template/JavassistTemplateBuilder.java b/java/src/main/java/org/msgpack/template/builder/JavassistTemplateBuilder.java similarity index 96% rename from java/src/main/java/org/msgpack/template/JavassistTemplateBuilder.java rename to java/src/main/java/org/msgpack/template/builder/JavassistTemplateBuilder.java index 7366c653..a001bf45 100644 --- a/java/src/main/java/org/msgpack/template/JavassistTemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/builder/JavassistTemplateBuilder.java @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template; +package org.msgpack.template.builder; import java.lang.Thread; @@ -28,8 +28,10 @@ import javassist.NotFoundException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.msgpack.template.builder.CustomTemplateBuilder; -import org.msgpack.template.javassist.*; +import org.msgpack.template.FieldEntryReader; +import org.msgpack.template.IFieldEntry; +import org.msgpack.template.IFieldEntryReader; +import org.msgpack.template.TemplateRegistry; public class JavassistTemplateBuilder extends CustomTemplateBuilder { private static Logger LOG = LoggerFactory.getLogger(JavassistTemplateBuilder.class); diff --git a/java/src/main/java/org/msgpack/template/builder/OrdinalEnumTemplateBuilder.java b/java/src/main/java/org/msgpack/template/builder/OrdinalEnumTemplateBuilder.java index d368984e..471defd4 100644 --- a/java/src/main/java/org/msgpack/template/builder/OrdinalEnumTemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/builder/OrdinalEnumTemplateBuilder.java @@ -30,7 +30,7 @@ import org.msgpack.Template; import org.msgpack.Unpacker; import org.msgpack.template.TemplateBuildException; -public class OrdinalEnumTemplateBuilder extends TemplateBuilder{ +public class OrdinalEnumTemplateBuilder implements TemplateBuilder{ static class ReflectionOrdinalEnumTemplate extends AbstractTemplate { protected Enum[] entries; @@ -68,6 +68,7 @@ public class OrdinalEnumTemplateBuilder extends TemplateBuilder{ return entries[ord]; } } + @Override public Template buildTemplate(Type targetType) { Class targetClass = (Class)targetType; diff --git a/java/src/main/java/org/msgpack/template/builder/MessagePackOrdinalEnumBuilderSelector.java b/java/src/main/java/org/msgpack/template/builder/OrdinalEnumTemplateBuilderSelector.java similarity index 71% rename from java/src/main/java/org/msgpack/template/builder/MessagePackOrdinalEnumBuilderSelector.java rename to java/src/main/java/org/msgpack/template/builder/OrdinalEnumTemplateBuilderSelector.java index 93f0f71d..6e612097 100644 --- a/java/src/main/java/org/msgpack/template/builder/MessagePackOrdinalEnumBuilderSelector.java +++ b/java/src/main/java/org/msgpack/template/builder/OrdinalEnumTemplateBuilderSelector.java @@ -17,35 +17,29 @@ // package org.msgpack.template.builder; -import java.lang.annotation.Annotation; import java.lang.reflect.Type; import org.msgpack.annotation.MessagePackOrdinalEnum; -public class MessagePackOrdinalEnumBuilderSelector implements BuilderSelector { +public class OrdinalEnumTemplateBuilderSelector implements BuilderSelector { - public static final String NAME = "MessagePackOrdinalEnumBuilderTemplate"; - + public static final String NAME = "OrdinalEnumBuilder"; + + OrdinalEnumTemplateBuilder builder = new OrdinalEnumTemplateBuilder(); + + @Override public String getName(){ return NAME; } - + @Override public boolean matchType(Type targetType) { - Class target = (Class)targetType; - return isAnnotated(target, MessagePackOrdinalEnum.class); + Class targetClass = (Class)targetType; + return AnnotationTemplateBuilderSelector.isAnnotated(targetClass, MessagePackOrdinalEnum.class); } - - OrdinalEnumTemplateBuilder builder = new OrdinalEnumTemplateBuilder(); @Override public TemplateBuilder getTemplateBuilder(Type targetType) { return builder; } - - - private boolean isAnnotated(Class ao, Class with) { - return ao.getAnnotation(with) != null; - } - } diff --git a/java/src/main/java/org/msgpack/template/ReflectionTemplateBuilder.java b/java/src/main/java/org/msgpack/template/builder/ReflectionTemplateBuilder.java similarity index 97% rename from java/src/main/java/org/msgpack/template/ReflectionTemplateBuilder.java rename to java/src/main/java/org/msgpack/template/builder/ReflectionTemplateBuilder.java index 057d500c..30bdda38 100644 --- a/java/src/main/java/org/msgpack/template/ReflectionTemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/builder/ReflectionTemplateBuilder.java @@ -15,14 +15,18 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template; +package org.msgpack.template.builder; import java.io.IOException; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import org.msgpack.*; -import org.msgpack.template.builder.CustomTemplateBuilder; +import org.msgpack.template.FieldEntry; +import org.msgpack.template.FieldEntryReader; +import org.msgpack.template.IFieldEntry; +import org.msgpack.template.IFieldEntryReader; +import org.msgpack.template.TemplateRegistry; public class ReflectionTemplateBuilder extends CustomTemplateBuilder { IFieldEntryReader reader = new FieldEntryReader(); diff --git a/java/src/main/java/org/msgpack/template/builder/TemplateBuilder.java b/java/src/main/java/org/msgpack/template/builder/TemplateBuilder.java index 3e04a1fa..7c2533a1 100644 --- a/java/src/main/java/org/msgpack/template/builder/TemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/builder/TemplateBuilder.java @@ -17,392 +17,11 @@ // package org.msgpack.template.builder; -import java.io.IOException; -import java.lang.reflect.*; -import java.lang.annotation.*; -import java.util.List; -import java.util.ArrayList; -import java.util.EnumSet; -import org.msgpack.*; -import org.msgpack.annotation.*; -import org.msgpack.template.FieldList; -import org.msgpack.template.FieldOption; -import org.msgpack.template.IFieldEntry; -import org.msgpack.template.IFieldEntryReader; -import org.msgpack.template.JavassistTemplateBuilder; -import org.msgpack.template.ReflectionTemplateBuilder; +import java.lang.reflect.Type; -public abstract class TemplateBuilder { +import org.msgpack.Template; - public abstract Template buildTemplate(Type targetType); - /* - // Override this method -<<<<<<< HEAD:java/src/main/java/org/msgpack/template/TemplateBuilder.java - public abstract Class loadTemplateClass(Class targetClass); - - // Override this method - public abstract Template initializeTemplate(Class targetClass, Class tmplClass, FieldEntry[] entries); - - // Override this method - public abstract void writeTemplateClass(Class targetClass, FieldEntry[] entries, String directoryName); - - // Override this method - public abstract Template buildTemplate(Class targetClass, FieldEntry[] entries); -======= - public abstract Template buildTemplate(Class targetClass, IFieldEntry[] entries); ->>>>>>> 21f0d0bfc47ddc6d9092621705047f3bef385ba5:java/src/main/java/org/msgpack/template/builder/TemplateBuilder.java - - // Override this method - public abstract void writeOrdinalEnumTemplateClass(Class targetClass, Enum[] entires, String directoryName); - - // Override this method - public abstract Template buildOrdinalEnumTemplate(Class targetClass, Enum[] entries); - - // Override this method - public abstract void writeArrayTemplateClass(Type arrayType, Type genericBaseType, - Class baseClass, int dim, String directoryName); - - // Override this method - public abstract Template buildArrayTemplate(Type arrayType, Type genericBaseType, Class baseClass, int dim); -<<<<<<< HEAD:java/src/main/java/org/msgpack/template/TemplateBuilder.java - - public Template initializeTemplate(Class targetClass, Class tmplClass) { - return initializeTemplate(targetClass, tmplClass, readFieldEntries(targetClass, readImplicitFieldOption(targetClass))); - } - - public void writeTemplateClass(Class targetClass, FieldList fList, String directoryName) throws NoSuchFieldException { - checkValidation(targetClass); - writeTemplateClass(targetClass, convertFieldEntries(targetClass, fList), directoryName); - } -======= - - public abstract IFieldEntryReader getFieldEntryReader(); ->>>>>>> 21f0d0bfc47ddc6d9092621705047f3bef385ba5:java/src/main/java/org/msgpack/template/builder/TemplateBuilder.java - - public Template buildTemplate(Class targetClass, FieldList flist) throws NoSuchFieldException { - checkValidation(targetClass); - return buildTemplate(targetClass, getFieldEntryReader().convertFieldEntries(targetClass, flist)); - } - - public void writeTemplateClass(Class targetClass, FieldOption implicitOption, String directoryName) { - checkValidation(targetClass); - writeTemplateClass(targetClass, readFieldEntries(targetClass, implicitOption), directoryName); - } - - public Template buildTemplate(Class targetClass, FieldOption implicitOption) { - checkValidation(targetClass); - return buildTemplate(targetClass, getFieldEntryReader().readFieldEntries(targetClass, implicitOption)); - } - - public void writeTemplateClass(Class targetClass, final String directoryName) { - FieldOption implicitOption = readImplicitFieldOption(targetClass); - writeTemplateClass(targetClass, implicitOption, directoryName); - } - - public Template buildTemplate(Class targetClass) { - FieldOption implicitOption = getFieldEntryReader().readImplicitFieldOption(targetClass); - return buildTemplate(targetClass, implicitOption); - } - - public void writeOrdinalEnumTemplateClass(Class targetClass, String directoryName) { - checkOrdinalEnumValidation(targetClass); - Enum[] entries = (Enum[])targetClass.getEnumConstants(); - writeOrdinalEnumTemplateClass(targetClass, entries, directoryName); - } - - public Template buildOrdinalEnumTemplate(Class targetClass) { - checkOrdinalEnumValidation(targetClass); - Enum[] entries = (Enum[])targetClass.getEnumConstants(); - return buildOrdinalEnumTemplate(targetClass, entries); - } - - public void writeArrayTemplateClass(Type arrayType, String directoryName) { - throw new UnsupportedOperationException("not supported yet.");// TODO - } - - public Template buildArrayTemplate(Type arrayType) { - Type baseType; - Class baseClass; - int dim = 1; - if(arrayType instanceof GenericArrayType) { - GenericArrayType type = (GenericArrayType)arrayType; - baseType = type.getGenericComponentType(); - while(baseType instanceof GenericArrayType) { - baseType = ((GenericArrayType)baseType).getGenericComponentType(); - dim += 1; - } - if(baseType instanceof ParameterizedType) { - baseClass = (Class)((ParameterizedType)baseType).getRawType(); - } else { - baseClass = (Class)baseType; - } - } else { - Class type = (Class)arrayType; - baseClass = type.getComponentType(); - while(baseClass.isArray()) { - baseClass = baseClass.getComponentType(); - dim += 1; - } - baseType = baseClass; - } - return buildArrayTemplate(arrayType, baseType, baseClass, dim); - } - - private static Type getComponentType(Type arrayType) { - if(arrayType instanceof GenericArrayType) { - return ((GenericArrayType)arrayType).getGenericComponentType(); - } else { - return ((Class)arrayType).getComponentType(); - } - } - private void checkValidation(Class targetClass) { - if(targetClass.isInterface()) { - throw new TemplateBuildException("cannot build template of interface"); - } - if(targetClass.isArray()) { - throw new TemplateBuildException("cannot build template of array class"); - } - if(targetClass.isPrimitive()) { - throw new TemplateBuildException("cannot build template of primitive type"); - } - } - private void checkOrdinalEnumValidation(Class targetClass) { - if(!targetClass.isEnum()) { - throw new TemplateBuildException("tried to build ordinal enum template of non-enum class"); - } - } - - - private static TemplateBuilder instance; - static { - instance = selectDefaultTemplateBuilder(); - } - - private static TemplateBuilder selectDefaultTemplateBuilder() { - try { - // FIXME JavassistTemplateBuilder doesn't work on DalvikVM - if(System.getProperty("java.vm.name").equals("Dalvik")) { - return ReflectionTemplateBuilder.getInstance(); - } - } catch (Exception e) { - } - return JavassistTemplateBuilder.getInstance(); - } - - public synchronized static void setInstance(TemplateBuilder builder) { - instance = builder; - } - - public static Class load(Class targetClass) { - return instance.loadTemplateClass(targetClass); - } - - public static Template initialize(Class targetClass, Class tmplClass) { - return instance.initializeTemplate(targetClass, tmplClass); - } - - public static void writeClass(Class targetClass, String directoryName) { - instance.writeTemplateClass(targetClass, directoryName); - } - - public static Template build(Class targetClass) { - return instance.buildTemplate(targetClass); - } - - public static void writeClass(Class targetClass, FieldOption implicitOption, String directoryName) { - instance.writeTemplateClass(targetClass, implicitOption, directoryName); - } - - public static Template build(Class targetClass, FieldOption implicitOption) { - return instance.buildTemplate(targetClass, implicitOption); - } - - public static void writeClass(Class targetClass, FieldList fList, String directoryName) - throws NoSuchFieldException { - instance.writeTemplateClass(targetClass, fList, directoryName); - } - - public static Template build(Class targetClass, FieldList fList) throws NoSuchFieldException { - return instance.buildTemplate(targetClass, fList); - } - - public static void writeOrdinalEnumClass(Class targetClass, String directoryName) { - instance.writeOrdinalEnumTemplateClass(targetClass, directoryName); - } - - public static Template buildOrdinalEnum(Class targetClass) { - return instance.buildOrdinalEnumTemplate(targetClass); - } - - public static void writeArrayClass(Type arrayType, String directoryName) { - throw new UnsupportedOperationException("not supported yet.");// TODO - } - - public static Template buildArray(Type arrayType) { - return instance.buildArrayTemplate(arrayType); - }*/ - - /* - private static void checkValidation(Class targetClass) { - if(targetClass.isInterface()) { - throw new TemplateBuildException("cannot build template of interface"); - } - if(targetClass.isArray()) { - throw new TemplateBuildException("cannot build template of array class"); - } - if(targetClass.isPrimitive()) { - throw new TemplateBuildException("cannot build template of primitive type"); - } - } - - private static void checkOrdinalEnumValidation(Class targetClass) { - if(!targetClass.isEnum()) { - throw new TemplateBuildException("tried to build ordinal enum template of non-enum class"); - } - }*/ - - /* - static IFieldEntry[] convertFieldEntries(Class targetClass, FieldList flist) throws NoSuchFieldException { - List src = flist.getList(); - FieldEntry[] result = new FieldEntry[src.size()]; - for(int i=0; i < src.size(); i++) { - FieldList.Entry s = src.get(i); - if(s.isAvailable()) { - result[i] = new FieldEntry(targetClass.getDeclaredField(s.getName()), s.getOption()); - } else { - result[i] = new FieldEntry(); - } - } - return result; - }*/ - - /*static IFieldEntry[] readFieldEntries(Class targetClass, FieldOption implicitOption) { - Field[] allFields = readAllFields(targetClass); - - /* index: - * @Index(0) int field_a; // 0 - * int field_b; // 1 - * @Index(3) int field_c; // 3 - * int field_d; // 4 - * @Index(2) int field_e; // 2 - * int field_f; // 5 - *//* - List indexed = new ArrayList(); - int maxIndex = -1; - for(Field f : allFields) { - FieldOption opt = readFieldOption(f, implicitOption); - if(opt == FieldOption.IGNORE) { - // skip - continue; - } - - int index = readFieldIndex(f, maxIndex); - - if(indexed.size() > index && indexed.get(index) != null) { - throw new TemplateBuildException("duplicated index: "+index); - } - if(index < 0) { - throw new TemplateBuildException("invalid index: "+index); - } - - while(indexed.size() <= index) { - indexed.add(null); - } - indexed.set(index, new FieldEntry(f, opt)); - - if(maxIndex < index) { - maxIndex = index; - } - } - - FieldEntry[] result = new FieldEntry[maxIndex+1]; - for(int i=0; i < indexed.size(); i++) { - FieldEntry e = indexed.get(i); - if(e == null) { - result[i] = new FieldEntry(); - } else { - result[i] = e; - } - } - - return result; - }*/ - /* - private static Field[] readAllFields(Class targetClass) { - // order: [fields of super class, ..., fields of this class] - List succ = new ArrayList(); - int total = 0; - for(Class c = targetClass; c != Object.class; c = c.getSuperclass()) { - Field[] fields = c.getDeclaredFields(); - total += fields.length; - succ.add(fields); - } - Field[] result = new Field[total]; - int off = 0; - for(int i=succ.size()-1; i >= 0; i--) { - Field[] fields = succ.get(i); - System.arraycopy(fields, 0, result, off, fields.length); - off += fields.length; - } - return result; - } - - private static FieldOption readImplicitFieldOption(Class targetClass) { - MessagePackMessage a = targetClass.getAnnotation(MessagePackMessage.class); - if(a == null) { - return FieldOption.DEFAULT; - } - return a.value(); - } - - private static FieldOption readFieldOption(Field field, FieldOption implicitOption) { - int mod = field.getModifiers(); - if(Modifier.isStatic(mod) || Modifier.isFinal(mod)) { - return FieldOption.IGNORE; - } - - if(isAnnotated(field, Ignore.class)) { - return FieldOption.IGNORE; - } else if(isAnnotated(field, Required.class)) { - return FieldOption.REQUIRED; - } else if(isAnnotated(field, Optional.class)) { - return FieldOption.OPTIONAL; - } else if(isAnnotated(field, Nullable.class)) { - if(field.getDeclaringClass().isPrimitive()) { - return FieldOption.REQUIRED; - } else { - return FieldOption.NULLABLE; - } - } - - if(implicitOption != FieldOption.DEFAULT) { - return implicitOption; - } - - // default mode: - // transient : Ignore - // public : Required - // others : Ignore - if(Modifier.isTransient(mod)) { - return FieldOption.IGNORE; - } else if(Modifier.isPublic(mod)) { - return FieldOption.REQUIRED; - } else { - return FieldOption.IGNORE; - } - } - - private static int readFieldIndex(Field field, int maxIndex) { - Index a = field.getAnnotation(Index.class); - if(a == null) { - return maxIndex + 1; - } else { - return a.value(); - } - } - - private static boolean isAnnotated(AccessibleObject ao, Class with) { - return ao.getAnnotation(with) != null; - }*/ +public interface TemplateBuilder { + Template buildTemplate(Type targetType); } diff --git a/java/src/main/java/org/msgpack/template/TemplateClassWriter.java b/java/src/main/java/org/msgpack/util/TemplatePrecompiler.java similarity index 89% rename from java/src/main/java/org/msgpack/template/TemplateClassWriter.java rename to java/src/main/java/org/msgpack/util/TemplatePrecompiler.java index 157c242b..8ca113b4 100644 --- a/java/src/main/java/org/msgpack/template/TemplateClassWriter.java +++ b/java/src/main/java/org/msgpack/util/TemplatePrecompiler.java @@ -15,13 +15,14 @@ // See the License for the specific language governing permissions and // limitations under the License. // -package org.msgpack.template; +package org.msgpack.util; +import org.msgpack.template.TemplateBuildException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TemplateClassWriter { - private static final Logger LOG = LoggerFactory.getLogger(TemplateClassWriter.class); +public class TemplatePrecompiler { + private static final Logger LOG = LoggerFactory.getLogger(TemplatePrecompiler.class); public static void write(Class target, String directoryName) { if (target.isEnum()) { @@ -36,7 +37,7 @@ public class TemplateClassWriter { private String[] classNames; - private TemplateClassWriter() { + private TemplatePrecompiler() { } private void parseOpts(final String[] args) {// TODO @@ -64,7 +65,7 @@ public class TemplateClassWriter { } public static void main(final String[] args) throws Exception { - TemplateClassWriter writer = new TemplateClassWriter(); + TemplatePrecompiler writer = new TemplatePrecompiler(); writer.parseOpts(args); writer.writeTemplateClasses(); } diff --git a/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderJavaBeansPackUnpack.java b/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderJavaBeansPackUnpack.java index 951b401c..0bd6f71a 100644 --- a/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderJavaBeansPackUnpack.java +++ b/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderJavaBeansPackUnpack.java @@ -30,9 +30,11 @@ import org.msgpack.annotation.MessagePackMessage; import org.msgpack.annotation.MessagePackOrdinalEnum; import org.msgpack.annotation.Optional; import org.msgpack.template.TestTemplateBuilderPackConvert.SampleInterface; +import org.msgpack.template.builder.BeansTemplateBuilder; import org.msgpack.template.builder.BuilderSelectorRegistry; -import org.msgpack.template.builder.MessagePackBeansBuilderSelector; -import org.msgpack.template.builder.MessagePackMessageBuilderSelector; +import org.msgpack.template.builder.BeansTemplateBuilderSelector; +import org.msgpack.template.builder.AnnotationTemplateBuilderSelector; +import org.msgpack.template.builder.ReflectionTemplateBuilder; import org.msgpack.template.builder.TemplateBuilder; import org.junit.Assert; @@ -46,11 +48,11 @@ public class TestReflectionTemplateBuilderJavaBeansPackUnpack extends TestCase { BuilderSelectorRegistry instance = BuilderSelectorRegistry.getInstance(); instance.replace( - new MessagePackMessageBuilderSelector( + new AnnotationTemplateBuilderSelector( new ReflectionTemplateBuilder())); instance.setForceBuilder( new ReflectionTemplateBuilder()); - instance.replace(new MessagePackBeansBuilderSelector( - new BeansReflectionTemplateBuilder())); + instance.replace(new BeansTemplateBuilderSelector( + new BeansTemplateBuilder())); MessagePack.register(PrimitiveTypeFieldsClass.class); MessagePack.register(OptionalPrimitiveTypeFieldsClass.class); diff --git a/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackConvert.java b/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackConvert.java index dcb039f7..93523228 100644 --- a/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackConvert.java +++ b/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackConvert.java @@ -24,9 +24,11 @@ import org.msgpack.Unpacker; import org.msgpack.annotation.MessagePackMessage; import org.msgpack.annotation.MessagePackOrdinalEnum; import org.msgpack.annotation.Optional; +import org.msgpack.template.builder.BeansTemplateBuilder; import org.msgpack.template.builder.BuilderSelectorRegistry; -import org.msgpack.template.builder.MessagePackBeansBuilderSelector; -import org.msgpack.template.builder.MessagePackMessageBuilderSelector; +import org.msgpack.template.builder.BeansTemplateBuilderSelector; +import org.msgpack.template.builder.AnnotationTemplateBuilderSelector; +import org.msgpack.template.builder.ReflectionTemplateBuilder; import org.msgpack.template.builder.TemplateBuilder; import junit.framework.Assert; @@ -38,11 +40,11 @@ public class TestReflectionTemplateBuilderPackConvert extends TestCase { BuilderSelectorRegistry instance = BuilderSelectorRegistry.getInstance(); instance.replace( - new MessagePackMessageBuilderSelector( + new AnnotationTemplateBuilderSelector( new ReflectionTemplateBuilder())); instance.setForceBuilder( new ReflectionTemplateBuilder()); - instance.replace(new MessagePackBeansBuilderSelector( - new BeansReflectionTemplateBuilder())); + instance.replace(new BeansTemplateBuilderSelector( + new BeansTemplateBuilder())); MessagePack.register(PrimitiveTypeFieldsClass.class); MessagePack.register(OptionalPrimitiveTypeFieldsClass.class); diff --git a/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackUnpack.java b/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackUnpack.java index 6080df6e..64fc9785 100644 --- a/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackUnpack.java +++ b/java/src/test/java/org/msgpack/template/TestReflectionTemplateBuilderPackUnpack.java @@ -25,9 +25,11 @@ import org.msgpack.annotation.MessagePackMessage; import org.msgpack.annotation.MessagePackOrdinalEnum; import org.msgpack.annotation.Optional; import org.msgpack.template.TestTemplateBuilderPackConvert.SampleInterface; +import org.msgpack.template.builder.BeansTemplateBuilder; import org.msgpack.template.builder.BuilderSelectorRegistry; -import org.msgpack.template.builder.MessagePackBeansBuilderSelector; -import org.msgpack.template.builder.MessagePackMessageBuilderSelector; +import org.msgpack.template.builder.BeansTemplateBuilderSelector; +import org.msgpack.template.builder.AnnotationTemplateBuilderSelector; +import org.msgpack.template.builder.ReflectionTemplateBuilder; import org.msgpack.template.builder.TemplateBuilder; import junit.framework.Assert; @@ -41,11 +43,11 @@ public class TestReflectionTemplateBuilderPackUnpack extends TestCase { BuilderSelectorRegistry instance = BuilderSelectorRegistry.getInstance(); instance.replace( - new MessagePackMessageBuilderSelector( + new AnnotationTemplateBuilderSelector( new ReflectionTemplateBuilder())); instance.setForceBuilder( new ReflectionTemplateBuilder()); - instance.replace(new MessagePackBeansBuilderSelector( - new BeansReflectionTemplateBuilder())); + instance.replace(new BeansTemplateBuilderSelector( + new BeansTemplateBuilder())); MessagePack.register(PrimitiveTypeFieldsClass.class); diff --git a/scala/src/main/scala/org/msgpack/JavassistTypeScalaTemplateBuilder.scala b/scala/src/main/scala/org/msgpack/JavassistTypeScalaTemplateBuilder.scala index 879bddea..784c9e93 100644 --- a/scala/src/main/scala/org/msgpack/JavassistTypeScalaTemplateBuilder.scala +++ b/scala/src/main/scala/org/msgpack/JavassistTypeScalaTemplateBuilder.scala @@ -7,7 +7,7 @@ import java.lang.Class import collection.immutable.{ListMap, TreeMap} import java.lang.reflect.{Type, Modifier, Method, Field} import java.lang.annotation.{Annotation => JavaAnnotation} -import javassist.{JavassistTemplate, BuildContextBase, BuildContext} +import builder.{JavassistTemplateBuilder, JavassistTemplate, BuildContextBase, BuildContext} import scala.collection.JavaConverters._ ; /* diff --git a/scala/src/main/scala/org/msgpack/ScalaMessagePack.scala b/scala/src/main/scala/org/msgpack/ScalaMessagePack.scala index 45b6f5fc..89fb43c6 100644 --- a/scala/src/main/scala/org/msgpack/ScalaMessagePack.scala +++ b/scala/src/main/scala/org/msgpack/ScalaMessagePack.scala @@ -1,10 +1,9 @@ package org.msgpack import template._ -import builder.{MessagePackMessageBuilderSelector, BuilderSelectorRegistry} -import template.javassist.BuildContextFactory +import builder.{AnnotationTemplateBuilderSelector, BuilderSelectorRegistry, BuildContextFactory} import collection.mutable.{MutableList, LinkedList} -import collection.mutable.{Map => MMap,HashMap => MHashMap} +import collection.mutable.{Map => MMap, HashMap => MHashMap} ; /* * Created by IntelliJ IDEA. @@ -18,7 +17,7 @@ object ScalaMessagePack { { // for scala object BuilderSelectorRegistry.getInstance.insertBefore( - MessagePackMessageBuilderSelector.NAME, + AnnotationTemplateBuilderSelector.NAME, new ScalaTemplateBuilderSelector) // register scala's list classes diff --git a/scala/src/main/scala/org/msgpack/ScalaTemplateBuilderSelector.scala b/scala/src/main/scala/org/msgpack/ScalaTemplateBuilderSelector.scala index b8b7c122..ac236a56 100644 --- a/scala/src/main/scala/org/msgpack/ScalaTemplateBuilderSelector.scala +++ b/scala/src/main/scala/org/msgpack/ScalaTemplateBuilderSelector.scala @@ -3,8 +3,7 @@ package org.msgpack import annotation.MessagePackMessage import template.builder.BuilderSelector import java.lang.reflect.Type -import template.javassist.BuildContextFactory -import template.JavassistTemplateBuilder +import template.builder.{JavassistTemplateBuilder, BuildContextFactory} import java.lang.annotation.{Annotation => JAnnotation} ; /*