|
22 | 22 | import java.lang.reflect.Type; |
23 | 23 | import java.util.ArrayList; |
24 | 24 | import java.util.List; |
| 25 | +import java.util.logging.Level; |
| 26 | +import java.util.logging.Logger; |
25 | 27 |
|
26 | 28 | import org.msgpack.template.TemplateRegistry; |
27 | 29 | import org.msgpack.util.android.DalvikVmChecker; |
28 | 30 |
|
29 | 31 | public class TemplateBuilderChain { |
30 | | - private static final String JAVASSIST_TEMPLATE_BUILDER_CLASS_NAME = |
31 | | - "org.msgpack.template.builder.JavassistTemplateBuilder"; |
32 | | - private static final String REFLECTION_TEMPLATE_BUILDER_CLASS_NAME = |
33 | | - "org.msgpack.template.builder.ReflectionTemplateBuilder"; |
| 32 | + private static final Logger LOG = Logger.getLogger(TemplateBuilderChain.class.getName()); |
| 33 | + |
| 34 | + private static final String JAVASSIST_TEMPLATE_BUILDER_CLASS_NAME = |
| 35 | + "org.msgpack.template.builder.JavassistTemplateBuilder"; |
| 36 | + private static final String REFLECTION_TEMPLATE_BUILDER_CLASS_NAME = |
| 37 | + "org.msgpack.template.builder.ReflectionTemplateBuilder"; |
34 | 38 |
|
35 | 39 | private static boolean enableDynamicCodeGeneration() { |
36 | 40 | return !DalvikVmChecker.isDalvikVm() && |
@@ -74,16 +78,18 @@ protected void reset(final TemplateRegistry registry, final ClassLoader cl) { |
74 | 78 | templateBuilders.add(new ReflectionBeansTemplateBuilder(registry)); |
75 | 79 | } |
76 | 80 |
|
77 | | - private static TemplateBuilder createForceTemplateBuilder(String className, |
78 | | - TemplateRegistry registry, ClassLoader cl) { |
79 | | - try { |
80 | | - Class<?> c = (Class<?>) Class.forName(className); |
81 | | - Constructor<?> cons = c.getConstructor(TemplateRegistry.class, |
82 | | - ClassLoader.class); |
83 | | - return (TemplateBuilder) cons.newInstance(registry, cl); |
84 | | - } catch (Exception e) { |
85 | | - e.printStackTrace(); |
86 | | - } |
| 81 | + private static TemplateBuilder createForceTemplateBuilder(String className, |
| 82 | + TemplateRegistry registry, ClassLoader cl) { |
| 83 | + try { |
| 84 | + Class<?> c = (Class<?>) Class.forName(className); |
| 85 | + Constructor<?> cons = c.getConstructor(TemplateRegistry.class, |
| 86 | + ClassLoader.class); |
| 87 | + return (TemplateBuilder) cons.newInstance(registry, cl); |
| 88 | + } catch (Exception e) { |
| 89 | + if (LOG.isLoggable(Level.WARNING)) { |
| 90 | + LOG.log(Level.WARNING, "Failed to create a TemplateBuilder reflectively", e); |
| 91 | + } |
| 92 | + } |
87 | 93 | return new ReflectionTemplateBuilder(registry, cl); |
88 | 94 | } |
89 | 95 |
|
|
0 commit comments