jaxx.compiler.finalizers
Class DefaultFinalizer

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

public class DefaultFinalizer
extends java.lang.Object
implements JAXXCompilerFinalizer

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:
chemit

Field Summary
protected static JavaField ACTIVE_BINDINGS_FIELD
           
protected static JavaMethod ADD_PROPERTY_CHANGE_SUPPORT_METHOD
           
protected static JavaMethod ADD_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD
           
protected static JavaField ALL_COMPONENTS_CREATED_FIELD
           
protected static JavaField BINDING_SOURCES_FIELD
           
protected static JavaField BINDINGS_FIELD
           
protected static JAXXBindingWriter[] bindingWriters
           
protected static JavaField CONTEXT_INITIALIZED
           
static java.lang.String FIELD_NAME_$ACTIVE_BINDINGS
           
static java.lang.String FIELD_NAME_$BINDING_SOURCES
           
static java.lang.String FIELD_NAME_$BINDINGS
           
static java.lang.String FIELD_NAME_$JAXX_OBJECT_DESCRIPTOR
           
static java.lang.String FIELD_NAME_$OBJECT_MAP
           
static java.lang.String FIELD_NAME_$PREVIOUS_VALUES
           
static java.lang.String FIELD_NAME_$PROPERTY_CHANGE_SUPPORT
           
static java.lang.String FIELD_NAME_ALL_COMPONENTS_CREATED
           
static java.lang.String FIELD_NAME_CONTEXT_INITIALIZED
           
static java.lang.String FIELD_NAME_DELEGATE_CONTEXT
           
static java.lang.String FIELD_NAME_SERIAL_VERSION_UID
           
protected static JavaMethod FIRE_PROPERTY_CHANGE_METHOD
           
protected static JavaMethod FIRE_PROPERTY_CHANGE_NAMED_METHOD
           
protected static JavaMethod GET_CONTEXT_VALUE_METHOD
           
protected static JavaMethod GET_CONTEXT_VALUE_NAMED_METHOD
           
protected static JavaMethod GET_DATA_BINDING_METHOD
           
protected static JavaMethod GET_JAXX_OBJECT_DESCRIPTOR_METHOD
           
protected static JavaMethod GET_OBJECT_BY_ID_METHOD
           
protected static JavaMethod GET_PARENT_CONTAINER_METHOD
           
protected static JavaMethod GET_PARENT_CONTAINER_MORE_METHOD
           
protected static JavaMethod GET_PROPERTY_CHANGE_SUPPORT_METHOD
           
protected static org.apache.commons.logging.Log log
          Logger
static java.lang.String METHOD_NAME_$AFTER_COMPLETE_SETUP
           
static java.lang.String METHOD_NAME_$COMPLETE_SETUP
           
static java.lang.String METHOD_NAME_$GET_JAXXOBJECT_DESCRIPTOR
           
static java.lang.String METHOD_NAME_$GET_PROPERTY_CHANGE_SUPPORT
           
static java.lang.String METHOD_NAME_$INITIALIZE
           
static java.lang.String METHOD_NAME_$REGISTER_DEFAULT_BINDINGS
           
static java.lang.String METHOD_NAME_APPLY_DATA_BINDING
           
static java.lang.String METHOD_NAME_FIRE_PROPERTY_CHANGE
           
static java.lang.String METHOD_NAME_PROCESS_DATA_BINDING
           
static java.lang.String METHOD_NAME_REGISTER_DATA_BINDING
           
static java.lang.String METHOD_NAME_REMOVE_DATA_BINDING
           
protected static JavaField OBJECT_MAP_FIELD
           
protected static JavaField PREVIOUS_VALUES_FIELD
           
protected static JavaMethod PROCESS_DATA_BINDING_METHOD
           
protected static JavaField PROPERTY_CHANGE_SUPPORT_FIELD
           
protected static JavaMethod REGISTER_DATA_BINDING_METHOD
           
protected static JavaMethod REMOVE_CONTEXT_VALUE_METHOD
           
protected static JavaMethod REMOVE_CONTEXT_VALUE_NAMED_METHOD
           
protected static JavaMethod REMOVE_PROPERTY_CHANGE_SUPPORT_METHOD
           
protected static JavaMethod REMOVE_PROPERTY_CHANGE_SUPPORT_NAMED_METHOD
           
protected static JavaField SERIAL_VERSION_UID_FIELD
          serialVersionUID field
protected static JavaMethod SET_CONTEXT_VALUE_METHOD
           
protected static JavaMethod SET_CONTEXT_VALUE_NAMED_METHOD
           
static java.lang.String TYPE_BOOLEAN
           
static java.lang.String TYPE_OBJECT
           
static java.lang.String TYPE_STRING
           
static java.lang.String TYPE_VOID
           
 
Constructor Summary
DefaultFinalizer()
           
 
Method Summary
 boolean accept(JAXXCompiler compiler)
          Test if the finalizer must be apply on the given compiler.
protected  void addEventHandlers(JAXXCompiler compiler, JavaFile javaFile)
           
protected  void addPropertyChangeSupport(CompiledObject root, JavaFile javaFile)
           
protected  JavaMethod createApplyDataBindingMethod()
           
protected  JavaMethod createCompleteSetupMethod(JAXXCompiler compiler, JavaFile javaFile)
           
protected  JavaMethod createConstructor(JAXXCompiler compiler, java.lang.String className, boolean superclassIsJAXXObject)
           
protected  JavaMethod createConstructorWithInitialContext(JAXXCompiler compiler, java.lang.String className, boolean superclassIsJAXXObject)
           
protected  java.lang.String createInitBindingsCode(JAXXCompiler compiler)
           
 JavaMethod createInitializer(JAXXCompiler compiler, int nbBindings)
           
protected  JavaField createJAXXObjectDescriptorField(JAXXCompiler compiler, JavaFile javaFile)
           
protected  JavaMethod createProcessDataBindingMethod()
           
protected  JavaMethod createRegisterDefaultBindingsMethod(JAXXCompiler compiler)
           
protected  JavaMethod createRemoveDataBindingMethod()
           
 void finalizeCompiler(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, java.lang.String packageName, java.lang.String className)
          Finalize compiler for a given compiler on the finalizer pass before any generation.
 void prepareJavaFile(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, java.lang.String packageName, java.lang.String className)
          Prepare java file after any compiler finalizer pass, says the last action before generation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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

TYPE_STRING

public static final java.lang.String TYPE_STRING
See Also:
Constant Field Values

TYPE_VOID

public static final java.lang.String TYPE_VOID
See Also:
Constant Field Values

TYPE_BOOLEAN

public static final java.lang.String TYPE_BOOLEAN
See Also:
Constant Field Values

TYPE_OBJECT

public static final java.lang.String TYPE_OBJECT
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_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

bindingWriters

protected static final JAXXBindingWriter[] bindingWriters
Constructor Detail

DefaultFinalizer

public DefaultFinalizer()
Method Detail

accept

public boolean accept(JAXXCompiler compiler)
Description copied from interface: JAXXCompilerFinalizer
Test if the finalizer must be apply on the given compiler.

Specified by:
accept in interface JAXXCompilerFinalizer
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)
Description copied from interface: JAXXCompilerFinalizer
Finalize compiler for a given compiler on the finalizer pass before any generation.

Specified by:
finalizeCompiler in interface JAXXCompilerFinalizer
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

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.

Specified by:
prepareJavaFile in interface JAXXCompilerFinalizer
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

createRegisterDefaultBindingsMethod

protected JavaMethod createRegisterDefaultBindingsMethod(JAXXCompiler compiler)

createJAXXObjectDescriptorField

protected JavaField createJAXXObjectDescriptorField(JAXXCompiler compiler,
                                                    JavaFile javaFile)

addPropertyChangeSupport

protected void addPropertyChangeSupport(CompiledObject root,
                                        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

createInitializer

public JavaMethod createInitializer(JAXXCompiler compiler,
                                    int nbBindings)
                             throws CompilerException
Throws:
CompilerException

createCompleteSetupMethod

protected JavaMethod createCompleteSetupMethod(JAXXCompiler compiler,
                                               JavaFile javaFile)

createInitBindingsCode

protected java.lang.String createInitBindingsCode(JAXXCompiler compiler)

createApplyDataBindingMethod

protected JavaMethod createApplyDataBindingMethod()

createRemoveDataBindingMethod

protected JavaMethod createRemoveDataBindingMethod()

createProcessDataBindingMethod

protected JavaMethod createProcessDataBindingMethod()


Copyright © 2008-2009 CodeLutin. All Rights Reserved.