This is an automated email from the git hooks/post-receive script. New commit to annotated tag v2.0.0-beta-1 in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git commit 1f08b928326b9be4549c292825db1ae07f0fba3b Author: Tony Chemit <chemit@codelutin.com> Date: Mon Oct 26 02:45:10 2009 +0000 remove commented unused code clean code add javadoc --- .../jaxx/compiler/finalizers/DefaultFinalizer.java | 102 ++++++++++++++++++--- 1 file changed, 90 insertions(+), 12 deletions(-) diff --git a/jaxx-compiler/src/main/java/jaxx/compiler/finalizers/DefaultFinalizer.java b/jaxx-compiler/src/main/java/jaxx/compiler/finalizers/DefaultFinalizer.java index 54b0fd9..2b7af6f 100644 --- a/jaxx-compiler/src/main/java/jaxx/compiler/finalizers/DefaultFinalizer.java +++ b/jaxx-compiler/src/main/java/jaxx/compiler/finalizers/DefaultFinalizer.java @@ -40,77 +40,160 @@ import static jaxx.compiler.java.JavaFileGenerator.*; */ public class DefaultFinalizer implements JAXXCompilerFinalizer { - /** log */ + /** + * Logger + */ protected static final Log log = LogFactory.getLog(DefaultFinalizer.class); + /** + * serialVersionUID field + */ protected static final JavaField SERIAL_VERSION_UID_FIELD = newField(PRIVATE | STATIC | FINAL, "long", "serialVersionUID", false, "1L"); + /** + * $activeBindings field + */ protected static final JavaField ACTIVE_BINDINGS_FIELD = newField(PROTECTED, "java.util.List<Object>", "$activeBindings", false, "new ArrayList<Object>()"); + /** + * + */ protected static final JavaField BINDING_SOURCES_FIELD = newField(PROTECTED, "java.util.Map<String,Object>", "$bindingSources", false, "new HashMap<String,Object>()"); + /** + * + */ protected static final JavaField OBJECT_MAP_FIELD = newField(PROTECTED, "Map<String,Object>", "$objectMap", true, "new HashMap<String,Object>()"); + /** + * + */ protected static final JavaField ALL_COMPONENTS_CREATED_FIELD = newField(PRIVATE, "boolean", "allComponentsCreated", false); + /** + * + */ protected static final JavaField CONTEXT_INITIALIZED = newField(PRIVATE, "boolean", "contextInitialized", false, "true"); + /** + * + */ protected static final JavaField PREVIOUS_VALUES_FIELD = newField(PROTECTED, "java.util.Map<?,?>", "$previousValues", false, "new java.util.HashMap<Object,Object>()"); + /** + * + */ protected static final JavaField DELEGATE_CONTEXT_FIELD = newField(PROTECTED, JAXXContext.class.getName(), "delegateContext", true); + /** + * + */ protected static final JavaField PROPERTY_CHANGE_SUPPORT_FIELD = newField(0, "java.beans.PropertyChangeSupport", "$propertyChangeSupport", false); + /** + * + */ protected static final JavaMethod GET_CONTEXT_VALUE_METHOD = newMethod(PUBLIC, "<T> T", "getContextValue", "return delegateContext.getContextValue(clazz, null);", true, new JavaArgument("Class<T>", "clazz")); + /** + * + */ protected static final JavaMethod GET_CONTEXT_VALUE_NAMED_METHOD = newMethod(PUBLIC, "<T> T", "getContextValue", "return delegateContext.getContextValue(clazz, name);", true, new JavaArgument("Class<T>", "clazz"), new JavaArgument("String", "name")); + /** + * + */ protected static final JavaMethod SET_CONTEXT_VALUE_NAMED_METHOD = newMethod(PUBLIC, "<T> void", "setContextValue", "delegateContext.setContextValue(o, name);", true, new JavaArgument("T", "o"), new JavaArgument("String", "name")); + /** + * + */ protected static final JavaMethod SET_CONTEXT_VALUE_METHOD = newMethod(PUBLIC, "<T> void", "setContextValue", "delegateContext.setContextValue(o, null);", true, new JavaArgument("T", "o")); + /** + * + */ protected static final JavaMethod REMOVE_CONTEXT_VALUE_NAMED_METHOD = newMethod(PUBLIC, "<T> void", "removeContextValue", "delegateContext.removeContextValue(clazz, name);", true, new JavaArgument("Class<T>", "clazz"), new JavaArgument("String", "name")); + /** + * + */ protected static final JavaMethod REMOVE_CONTEXT_VALUE_METHOD = newMethod(PUBLIC, "<T> void", "removeContextValue", "delegateContext.removeContextValue(clazz, null);", true, new JavaArgument("Class<T>", "clazz")); + /** + * + */ protected static final JavaMethod GET_PARENT_CONTAINER_MORE_METHOD = newMethod(PUBLIC, "<O extends Container> O", "getParentContainer", "return delegateContext.getParentContainer(source, clazz);", true, new JavaArgument("Object", "source"), new JavaArgument("Class<O>", "clazz")); + /** + * + */ protected static final JavaMethod GET_PARENT_CONTAINER_METHOD = newMethod(PUBLIC, "<O extends Container> O", "getParentContainer", "return delegateContext.getParentContainer(clazz);", true, new JavaArgument("Class<O>", "clazz")); + /** + * + */ protected static final JavaMethod GET_OBJECT_BY_ID_METHOD = newMethod(PUBLIC, "java.lang.Object", "getObjectById", "return $objectMap.get(id);", true, new JavaArgument("String", "id")); + /** + * + */ protected static final JavaMethod GET_JAXX_OBJECT_DESCRIPTOR_METHOD = newMethod(PUBLIC | STATIC, "jaxx.runtime.JAXXObjectDescriptor", "$getJAXXObjectDescriptor", "return jaxx.runtime.Util.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);", false); + /** + * + */ protected static final JavaMethod PROCESS_DATA_BINDING_METHOD = newMethod(PUBLIC, "void", "processDataBinding", "processDataBinding(dest, false);", true, new JavaArgument("String", "dest")); + /** + * + */ protected static final JavaMethod FIRE_PROPERTY_CHANGE_METHOD = newMethod(PUBLIC, "void", "firePropertyChange", "super.firePropertyChange(propertyName, oldValue, newValue);", true, new JavaArgument("String", "propertyName"), new JavaArgument("Object", "oldValue"), new JavaArgument("Object", "newValue")); + /** + * + */ protected static final JavaMethod FIRE_PROPERTY_CHANGE_NAMED_METHOD = newMethod(PUBLIC, "void", "firePropertyChange", "$getPropertyChangeSupport().firePropertyChange(propertyName, oldValue, newValue);", true, new JavaArgument("String", "propertyName"), new JavaArgument("Object", "oldValue"), new JavaArgument("Object", "newValue")); + /** + * + */ protected static final JavaMethod GET_PROPERTY_CHANGE_SUPPORT_METHOD = newMethod(0, "java.beans.PropertyChangeSupport", "$getPropertyChangeSupport", "if ($propertyChangeSupport == null)\n" + " $propertyChangeSupport = new PropertyChangeSupport(this);\n" + "return $propertyChangeSupport;", false); + /** + * + */ protected static final JavaMethod ADD_PROPERTY_CHANGE_SUPPORT_METHOD = newMethod(PUBLIC, "void", "addPropertyChangeListener", "$getPropertyChangeSupport().addPropertyChangeListener(listener);", true, new JavaArgument("java.beans.PropertyChangeListener", "listener")); + /** + * + */ protected static final JavaMethod ADD_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD = newMethod(PUBLIC, "void", "addPropertyChangeListener", "$getPropertyChangeSupport().addPropertyChangeListener(property, listener);", true, new JavaArgument("String", "property"), new JavaArgument("java.beans.PropertyChangeListener", "listener")); + /** + * + */ protected static final JavaMethod REMOVE_PROPERTY_CHANGE_SUPPORT_METHOD = newMethod(PUBLIC, "void", "removePropertyChangeListener", "$getPropertyChangeSupport().removePropertyChangeListener(listener);", true, new JavaArgument("java.beans.PropertyChangeListener", "listener")); + /** + * + */ protected static final JavaMethod REMOVE_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD = newMethod(PUBLIC, "void", "removePropertyChangeListener", "$getPropertyChangeSupport().removePropertyChangeListener(property, listener);", true, new JavaArgument("String", "property"), new JavaArgument("java.beans.PropertyChangeListener", "listener")); @@ -122,7 +205,6 @@ public class DefaultFinalizer implements JAXXCompilerFinalizer { if (root == null) { throw new CompilerException("root tag must be a class tag"); } - //Map<String, CompiledObject> objects = compiler.getObjects(); ClassDescriptor superclass = root.getObjectClass(); boolean superclassIsJAXXObject = ClassDescriptorLoader.getClassDescriptor(JAXXObject.class).isAssignableFrom(superclass); javaFile.setModifiers(PUBLIC); @@ -144,13 +226,13 @@ public class DefaultFinalizer implements JAXXCompilerFinalizer { // DataBinding for (DataBinding dataBinding : compiler.getDataBindings()) { - if (dataBinding.compile(true)) { - compiler.getInitDataBindings().append("applyDataBinding(").append(compiler.getJavaCode(dataBinding.getId())).append(");").append(eol); + if (dataBinding.compile(compiler, true)) { + String expression = "applyDataBinding(" + compiler.getJavaCode(dataBinding.getId()) + ");" + eol; + compiler.appendInitDataBindings(expression); } } if (superclassIsJAXXObject) { -// boolean hasBind = compiler.getApplyDataBinding().length() > 0; boolean hasBind = compiler.hasApplyDataBinding(); if (hasBind) { compiler.appendApplyDataBinding(" else {"); @@ -167,7 +249,6 @@ public class DefaultFinalizer implements JAXXCompilerFinalizer { } hasBind = compiler.hasRemoveDataBinding(); -// hasBind = compiler.getRemoveDataBinding().length() > 0; if (hasBind) { compiler.appendRemoveDataBinding(" else {"); compiler.appendRemoveDataBinding(eol); @@ -250,7 +331,6 @@ public class DefaultFinalizer implements JAXXCompilerFinalizer { needField = parentCompiler.getStylesheet() == null; } else { try { - superclass.getDeclaredFieldDescriptor(PREVIOUS_VALUES_FIELD.getName()); needField = false; } catch (NoSuchFieldException ex) { @@ -327,19 +407,19 @@ public class DefaultFinalizer implements JAXXCompilerFinalizer { int sizeLimit = 65000; // constant strings are limited to 64K, and I'm not brave enough to push right up to the limit if (data.length() < sizeLimit) { - return newField(PRIVATE | STATIC, "java.lang.String", "$jaxxObjectDescriptor", false, compiler.getJavaCode(data)); + return newField(PRIVATE | STATIC, "String", "$jaxxObjectDescriptor", false, compiler.getJavaCode(data)); } else { StringBuffer initializer = new StringBuffer(); for (int i = 0; i < data.length(); i += sizeLimit) { String name = "$jaxxObjectDescriptor" + i; - javaFile.addField(new JavaField(PRIVATE | STATIC, "java.lang.String", name, false, + javaFile.addField(new JavaField(PRIVATE | STATIC, "String", name, false, compiler.getJavaCode(data.substring(i, Math.min(i + sizeLimit, data.length()))))); if (initializer.length() > 0) { initializer.append(" + "); } initializer.append("String.valueOf(").append(name).append(")"); } - return newField(PRIVATE | STATIC | FINAL, "java.lang.String", "$jaxxObjectDescriptor", false, initializer.toString()); + return newField(PRIVATE | STATIC | FINAL, "String", "$jaxxObjectDescriptor", false, initializer.toString()); } } catch (IOException e) { throw new RuntimeException("Internal error: can't-happen error", e); @@ -464,10 +544,8 @@ public class DefaultFinalizer implements JAXXCompilerFinalizer { lastWasMethodCall = decorator.createInitializer(compiler, root, object, code, lastWasMethodCall); } root.getDecorator().createInitializer(compiler, root, root, code, lastWasMethodCall); -// code.append(eol); if (compiler.getInitializer().length() > 0) { code.append(compiler.getInitializer()); -// code.append(eol); } code.append("$completeSetup();"); code.append(eol); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.