Class DefaultFinalizer

java.lang.Object
jaxx.compiler.finalizers.AbstractFinalizer
jaxx.compiler.finalizers.DefaultFinalizer
All Implemented Interfaces:
JAXXCompilerFinalizer

@Component(role=JAXXCompilerFinalizer.class,
           hint="default")
public class DefaultFinalizer
extends AbstractFinalizer
This class is a refactoring of the JAXXCompiler. We delegate now the generation of a JAXXObject to this class, the JAXXCompiler now only deals with the compilation of files.
Author:
Tony Chemit - chemit@codelutin.com
  • Field Details

    • log

      protected static final org.apache.commons.logging.Log log
      Logger.
    • FIELD_NAME_$BINDING_SOURCES

      public static final java.lang.String FIELD_NAME_$BINDING_SOURCES
      See Also:
      Constant Field Values
    • FIELD_NAME_$OBJECT_MAP

      public static final java.lang.String FIELD_NAME_$OBJECT_MAP
      See Also:
      Constant Field Values
    • FIELD_NAME_$ACTIVE_BINDINGS

      public static final java.lang.String FIELD_NAME_$ACTIVE_BINDINGS
      See Also:
      Constant Field Values
    • FIELD_NAME_ALL_COMPONENTS_CREATED

      public static final java.lang.String FIELD_NAME_ALL_COMPONENTS_CREATED
      See Also:
      Constant Field Values
    • FIELD_NAME_CONTEXT_INITIALIZED

      public static final java.lang.String FIELD_NAME_CONTEXT_INITIALIZED
      See Also:
      Constant Field Values
    • FIELD_NAME_$PREVIOUS_VALUES

      public static final java.lang.String FIELD_NAME_$PREVIOUS_VALUES
      See Also:
      Constant Field Values
    • FIELD_NAME_$BINDINGS

      public static final java.lang.String FIELD_NAME_$BINDINGS
      See Also:
      Constant Field Values
    • FIELD_NAME_$PROPERTY_CHANGE_SUPPORT

      public static final java.lang.String FIELD_NAME_$PROPERTY_CHANGE_SUPPORT
      See Also:
      Constant Field Values
    • FIELD_NAME_DELEGATE_CONTEXT

      public static final java.lang.String FIELD_NAME_DELEGATE_CONTEXT
      See Also:
      Constant Field Values
    • FIELD_NAME_SERIAL_VERSION_UID

      public static final java.lang.String FIELD_NAME_SERIAL_VERSION_UID
      See Also:
      Constant Field Values
    • FIELD_NAME_$JAXX_OBJECT_DESCRIPTOR

      public static final java.lang.String FIELD_NAME_$JAXX_OBJECT_DESCRIPTOR
      See Also:
      Constant Field Values
    • METHOD_NAME_$GET_JAXXOBJECT_DESCRIPTOR

      public static final java.lang.String METHOD_NAME_$GET_JAXXOBJECT_DESCRIPTOR
      See Also:
      Constant Field Values
    • METHOD_NAME_$REGISTER_DEFAULT_BINDINGS

      public static final java.lang.String METHOD_NAME_$REGISTER_DEFAULT_BINDINGS
      See Also:
      Constant Field Values
    • METHOD_NAME_REGISTER_DATA_BINDING

      public static final java.lang.String METHOD_NAME_REGISTER_DATA_BINDING
      See Also:
      Constant Field Values
    • METHOD_NAME_REMOVE_DATA_BINDING

      public static final java.lang.String METHOD_NAME_REMOVE_DATA_BINDING
      See Also:
      Constant Field Values
    • METHOD_NAME_APPLY_DATA_BINDING

      public static final java.lang.String METHOD_NAME_APPLY_DATA_BINDING
      See Also:
      Constant Field Values
    • METHOD_NAME_PROCESS_DATA_BINDING

      public static final java.lang.String METHOD_NAME_PROCESS_DATA_BINDING
      See Also:
      Constant Field Values
    • METHOD_NAME_FIRE_PROPERTY_CHANGE

      public static final java.lang.String METHOD_NAME_FIRE_PROPERTY_CHANGE
      See Also:
      Constant Field Values
    • METHOD_NAME_$GET_PROPERTY_CHANGE_SUPPORT

      public static final java.lang.String METHOD_NAME_$GET_PROPERTY_CHANGE_SUPPORT
      See Also:
      Constant Field Values
    • METHOD_NAME_$INITIALIZE

      public static final java.lang.String METHOD_NAME_$INITIALIZE
      See Also:
      Constant Field Values
    • METHOD_NAME_$COMPLETE_SETUP

      public static final java.lang.String METHOD_NAME_$COMPLETE_SETUP
      See Also:
      Constant Field Values
    • METHOD_NAME_$AFTER_COMPLETE_SETUP

      public static final java.lang.String METHOD_NAME_$AFTER_COMPLETE_SETUP
      See Also:
      Constant Field Values
    • SERIAL_VERSION_UID_FIELD

      protected static final JavaField SERIAL_VERSION_UID_FIELD
      serialVersionUID field
    • ACTIVE_BINDINGS_FIELD

      protected static final JavaField ACTIVE_BINDINGS_FIELD
    • BINDING_SOURCES_FIELD

      protected static final JavaField BINDING_SOURCES_FIELD
    • OBJECT_MAP_FIELD

      protected static final JavaField OBJECT_MAP_FIELD
    • ALL_COMPONENTS_CREATED_FIELD

      protected static final JavaField ALL_COMPONENTS_CREATED_FIELD
    • CONTEXT_INITIALIZED

      protected static final JavaField CONTEXT_INITIALIZED
    • PREVIOUS_VALUES_FIELD

      protected static final JavaField PREVIOUS_VALUES_FIELD
    • BINDINGS_FIELD

      protected static final JavaField BINDINGS_FIELD
    • PROPERTY_CHANGE_SUPPORT_FIELD

      protected static final JavaField PROPERTY_CHANGE_SUPPORT_FIELD
    • GET_CONTEXT_VALUE_METHOD

      protected static final JavaMethod GET_CONTEXT_VALUE_METHOD
    • GET_CONTEXT_VALUE_NAMED_METHOD

      protected static final JavaMethod GET_CONTEXT_VALUE_NAMED_METHOD
    • SET_CONTEXT_VALUE_NAMED_METHOD

      protected static final JavaMethod SET_CONTEXT_VALUE_NAMED_METHOD
    • SET_CONTEXT_VALUE_METHOD

      protected static final JavaMethod SET_CONTEXT_VALUE_METHOD
    • REMOVE_CONTEXT_VALUE_NAMED_METHOD

      protected static final JavaMethod REMOVE_CONTEXT_VALUE_NAMED_METHOD
    • REMOVE_CONTEXT_VALUE_METHOD

      protected static final JavaMethod REMOVE_CONTEXT_VALUE_METHOD
    • GET_PARENT_CONTAINER_MORE_METHOD

      protected static final JavaMethod GET_PARENT_CONTAINER_MORE_METHOD
    • GET_PARENT_CONTAINER_METHOD

      protected static final JavaMethod GET_PARENT_CONTAINER_METHOD
    • GET_OBJECT_BY_ID_METHOD

      protected static final JavaMethod GET_OBJECT_BY_ID_METHOD
    • GET_JAXX_OBJECT_DESCRIPTOR_METHOD

      protected static final JavaMethod GET_JAXX_OBJECT_DESCRIPTOR_METHOD
    • PROCESS_DATA_BINDING_METHOD

      protected static final JavaMethod PROCESS_DATA_BINDING_METHOD
    • REGISTER_DATA_BINDING_METHOD

      protected static final JavaMethod REGISTER_DATA_BINDING_METHOD
    • GET_DATA_BINDINGS_METHOD

      protected static final JavaMethod GET_DATA_BINDINGS_METHOD
    • GET_DATA_BINDING_METHOD

      protected static final JavaMethod GET_DATA_BINDING_METHOD
    • FIRE_PROPERTY_CHANGE_METHOD

      protected static final JavaMethod FIRE_PROPERTY_CHANGE_METHOD
    • FIRE_PROPERTY_CHANGE_NAMED_METHOD

      protected static final JavaMethod FIRE_PROPERTY_CHANGE_NAMED_METHOD
    • GET_PROPERTY_CHANGE_SUPPORT_METHOD

      protected static final JavaMethod GET_PROPERTY_CHANGE_SUPPORT_METHOD
    • ADD_PROPERTY_CHANGE_SUPPORT_METHOD

      protected static final JavaMethod ADD_PROPERTY_CHANGE_SUPPORT_METHOD
    • ADD_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD

      protected static final JavaMethod ADD_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD
    • REMOVE_PROPERTY_CHANGE_SUPPORT_METHOD

      protected static final JavaMethod REMOVE_PROPERTY_CHANGE_SUPPORT_METHOD
    • REMOVE_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD

      protected static final JavaMethod REMOVE_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD
    • METHOD_NAME$BEFORE_INIT

      public static final java.lang.String METHOD_NAME$BEFORE_INIT
      See Also:
      Constant Field Values
    • bindingWriters

      protected final JAXXBindingWriter<?>[] bindingWriters
  • Constructor Details

    • DefaultFinalizer

      public DefaultFinalizer()
  • Method Details

    • accept

      public boolean accept​(JAXXCompiler compiler)
      Description copied from interface: JAXXCompilerFinalizer
      Test if the finalizer must be apply on the given compiler.
      Parameters:
      compiler - the compiler
      Returns:
      true if the finalizer must be apply of compiler
    • finalizeCompiler

      public void finalizeCompiler​(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, java.lang.String packageName, java.lang.String className) throws java.lang.ClassNotFoundException
      Description copied from interface: JAXXCompilerFinalizer
      Finalize compiler for a given compiler on the finalizer pass before any generation.
      Parameters:
      root - the root object
      compiler - the current compiler
      javaFile - the java file to generate
      packageName - the package name of the file to generate
      className - the class name of the file to generate
      Throws:
      java.lang.ClassNotFoundException
    • prepareJavaFile

      public void prepareJavaFile​(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, java.lang.String packageName, java.lang.String className) throws java.lang.ClassNotFoundException
      Description copied from interface: JAXXCompilerFinalizer
      Prepare java file after any compiler finalizer pass, says the last action before generation.
      Parameters:
      root - the root object
      compiler - the current compiler
      javaFile - the java file to generate
      packageName - the package name of the file to generate
      className - the class name of the file to generate
      Throws:
      java.lang.ClassNotFoundException
    • addDataBindings

      protected void addDataBindings​(JAXXCompiler compiler, JavaFile javaFile, DataBinding[] bindings)
    • addConstructors

      protected void addConstructors​(JAXXCompiler compiler, JavaFile javaFile, java.lang.String className)
    • addJAXXObjectSupport

      protected void addJAXXObjectSupport​(JAXXCompiler compiler, CompiledObject root, JavaFile javaFile)
    • addLoggerSupport

      protected void addLoggerSupport​(JAXXCompiler compiler, JavaFile javaFile, java.lang.String className)
    • addJAXXObjectDescriptorField

      protected JavaField addJAXXObjectDescriptorField​(JAXXCompiler compiler, JavaFile javaFile)
    • addPreviousValuesField

      protected void addPreviousValuesField​(JAXXCompiler compiler, JavaFile javaFile, CompiledObject root)
    • addPropertyChangeSupport

      protected void addPropertyChangeSupport​(CompiledObject root, JavaFile javaFile)
    • addRegisteredDefaultBindingsMethod

      protected JavaMethod addRegisteredDefaultBindingsMethod​(JAXXCompiler compiler, JavaFile javaFile)
    • addEventHandlers

      protected void addEventHandlers​(JAXXCompiler compiler, JavaFile javaFile)
    • createConstructor

      protected JavaMethod createConstructor​(JAXXCompiler compiler, java.lang.String className, boolean superclassIsJAXXObject) throws CompilerException
      Throws:
      CompilerException
    • createConstructorWithInitialContext

      protected JavaMethod createConstructorWithInitialContext​(JAXXCompiler compiler, java.lang.String className, boolean superclassIsJAXXObject) throws CompilerException
      Throws:
      CompilerException
    • addInitializerMethod

      public JavaMethod addInitializerMethod​(JAXXCompiler compiler, JavaFile javaFile, int nbBindings) throws CompilerException
      Throws:
      CompilerException
    • addCompleteSetupMethod

      protected JavaMethod addCompleteSetupMethod​(JAXXCompiler compiler, JavaFile javaFile)
    • createInitBindingsCode

      protected java.lang.String createInitBindingsCode​(JAXXCompiler compiler)
    • createApplyDataBindingMethod

      protected JavaMethod createApplyDataBindingMethod()
    • createRemoveDataBindingMethod

      protected JavaMethod createRemoveDataBindingMethod()
    • createProcessDataBindingMethod

      protected JavaMethod createProcessDataBindingMethod()