Package jaxx.compiler.finalizers
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 theJAXXCompiler. We delegate now the generation of aJAXXObjectto this class, theJAXXCompilernow only deals with the compilation of files.- Author:
- Tony Chemit - chemit@codelutin.com
-
-
Field Summary
-
Fields inherited from interface jaxx.compiler.finalizers.JAXXCompilerFinalizer
TYPE_BOOLEAN, TYPE_OBJECT, TYPE_STRING, TYPE_VOID
-
-
Constructor Summary
Constructors Constructor Description DefaultFinalizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaccept(JAXXCompiler compiler)Test if the finalizer must be apply on the givencompiler.protected JavaMethodaddCompleteSetupMethod(JAXXCompiler compiler, JavaFile javaFile)protected voidaddConstructors(JAXXCompiler compiler, JavaFile javaFile, String className)protected voidaddDataBindings(JAXXCompiler compiler, JavaFile javaFile, DataBinding[] bindings)protected voidaddEventHandlers(JAXXCompiler compiler, JavaFile javaFile)JavaMethodaddInitializerMethod(JAXXCompiler compiler, JavaFile javaFile, int nbBindings)protected JavaFieldaddJAXXObjectDescriptorField(JAXXCompiler compiler, JavaFile javaFile)protected voidaddJAXXObjectSupport(JAXXCompiler compiler, CompiledObject root, JavaFile javaFile)protected voidaddLoggerSupport(JAXXCompiler compiler, JavaFile javaFile, String className)protected voidaddPreviousValuesField(JAXXCompiler compiler, JavaFile javaFile, CompiledObject root)protected voidaddPropertyChangeSupport(CompiledObject root, JavaFile javaFile)protected JavaMethodaddRegisteredDefaultBindingsMethod(JAXXCompiler compiler, JavaFile javaFile)protected JavaMethodcreateApplyDataBindingMethod()protected JavaMethodcreateConstructor(JAXXCompiler compiler, String className, boolean superclassIsJAXXObject)protected JavaMethodcreateConstructorWithInitialContext(JAXXCompiler compiler, String className, boolean superclassIsJAXXObject)protected StringcreateInitBindingsCode(JAXXCompiler compiler)protected JavaMethodcreateProcessDataBindingMethod()protected JavaMethodcreateRemoveDataBindingMethod()voidfinalizeCompiler(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, String packageName, String className)Finalize compiler for a given compiler on the finalizer pass before any generation.voidprepareJavaFile(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, String packageName, String className)Prepare java file after any compiler finalizer pass, says the last action before generation.-
Methods inherited from class jaxx.compiler.finalizers.AbstractFinalizer
addField, addMethod, addSimpleField
-
-
-
-
Field Detail
-
log
protected static final org.apache.commons.logging.Log log
Logger.
-
FIELD_NAME_$BINDING_SOURCES
public static final String FIELD_NAME_$BINDING_SOURCES
- See Also:
- Constant Field Values
-
FIELD_NAME_$OBJECT_MAP
public static final String FIELD_NAME_$OBJECT_MAP
- See Also:
- Constant Field Values
-
FIELD_NAME_$ACTIVE_BINDINGS
public static final String FIELD_NAME_$ACTIVE_BINDINGS
- See Also:
- Constant Field Values
-
FIELD_NAME_ALL_COMPONENTS_CREATED
public static final String FIELD_NAME_ALL_COMPONENTS_CREATED
- See Also:
- Constant Field Values
-
FIELD_NAME_CONTEXT_INITIALIZED
public static final String FIELD_NAME_CONTEXT_INITIALIZED
- See Also:
- Constant Field Values
-
FIELD_NAME_$PREVIOUS_VALUES
public static final String FIELD_NAME_$PREVIOUS_VALUES
- See Also:
- Constant Field Values
-
FIELD_NAME_$BINDINGS
public static final String FIELD_NAME_$BINDINGS
- See Also:
- Constant Field Values
-
FIELD_NAME_$PROPERTY_CHANGE_SUPPORT
public static final String FIELD_NAME_$PROPERTY_CHANGE_SUPPORT
- See Also:
- Constant Field Values
-
FIELD_NAME_DELEGATE_CONTEXT
public static final String FIELD_NAME_DELEGATE_CONTEXT
- See Also:
- Constant Field Values
-
FIELD_NAME_SERIAL_VERSION_UID
public static final String FIELD_NAME_SERIAL_VERSION_UID
- See Also:
- Constant Field Values
-
FIELD_NAME_$JAXX_OBJECT_DESCRIPTOR
public static final String FIELD_NAME_$JAXX_OBJECT_DESCRIPTOR
- See Also:
- Constant Field Values
-
METHOD_NAME_$GET_JAXXOBJECT_DESCRIPTOR
public static final String METHOD_NAME_$GET_JAXXOBJECT_DESCRIPTOR
- See Also:
- Constant Field Values
-
METHOD_NAME_$REGISTER_DEFAULT_BINDINGS
public static final String METHOD_NAME_$REGISTER_DEFAULT_BINDINGS
- See Also:
- Constant Field Values
-
METHOD_NAME_REGISTER_DATA_BINDING
public static final String METHOD_NAME_REGISTER_DATA_BINDING
- See Also:
- Constant Field Values
-
METHOD_NAME_REMOVE_DATA_BINDING
public static final String METHOD_NAME_REMOVE_DATA_BINDING
- See Also:
- Constant Field Values
-
METHOD_NAME_APPLY_DATA_BINDING
public static final String METHOD_NAME_APPLY_DATA_BINDING
- See Also:
- Constant Field Values
-
METHOD_NAME_PROCESS_DATA_BINDING
public static final String METHOD_NAME_PROCESS_DATA_BINDING
- See Also:
- Constant Field Values
-
METHOD_NAME_FIRE_PROPERTY_CHANGE
public static final String METHOD_NAME_FIRE_PROPERTY_CHANGE
- See Also:
- Constant Field Values
-
METHOD_NAME_$GET_PROPERTY_CHANGE_SUPPORT
public static final String METHOD_NAME_$GET_PROPERTY_CHANGE_SUPPORT
- See Also:
- Constant Field Values
-
METHOD_NAME_$INITIALIZE
public static final String METHOD_NAME_$INITIALIZE
- See Also:
- Constant Field Values
-
METHOD_NAME_$COMPLETE_SETUP
public static final String METHOD_NAME_$COMPLETE_SETUP
- See Also:
- Constant Field Values
-
METHOD_NAME_$AFTER_COMPLETE_SETUP
public static final 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 String METHOD_NAME$BEFORE_INIT
- See Also:
- Constant Field Values
-
bindingWriters
protected final JAXXBindingWriter<?>[] bindingWriters
-
-
Method Detail
-
accept
public boolean accept(JAXXCompiler compiler)
Description copied from interface:JAXXCompilerFinalizerTest if the finalizer must be apply on the givencompiler.- Parameters:
compiler- the compiler- Returns:
trueif the finalizer must be apply of compiler
-
finalizeCompiler
public void finalizeCompiler(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, String packageName, String className) throws ClassNotFoundException
Description copied from interface:JAXXCompilerFinalizerFinalize compiler for a given compiler on the finalizer pass before any generation.- Parameters:
root- the root objectcompiler- the current compilerjavaFile- the java file to generatepackageName- the package name of the file to generateclassName- the class name of the file to generate- Throws:
ClassNotFoundException
-
prepareJavaFile
public void prepareJavaFile(CompiledObject root, JAXXCompiler compiler, JavaFile javaFile, String packageName, String className) throws ClassNotFoundException
Description copied from interface:JAXXCompilerFinalizerPrepare java file after any compiler finalizer pass, says the last action before generation.- Parameters:
root- the root objectcompiler- the current compilerjavaFile- the java file to generatepackageName- the package name of the file to generateclassName- the class name of the file to generate- Throws:
ClassNotFoundException
-
addDataBindings
protected void addDataBindings(JAXXCompiler compiler, JavaFile javaFile, DataBinding[] bindings)
-
addConstructors
protected void addConstructors(JAXXCompiler compiler, JavaFile javaFile, String className)
-
addJAXXObjectSupport
protected void addJAXXObjectSupport(JAXXCompiler compiler, CompiledObject root, JavaFile javaFile)
-
addLoggerSupport
protected void addLoggerSupport(JAXXCompiler compiler, JavaFile javaFile, 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, String className, boolean superclassIsJAXXObject) throws CompilerException
- Throws:
CompilerException
-
createConstructorWithInitialContext
protected JavaMethod createConstructorWithInitialContext(JAXXCompiler compiler, 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 String createInitBindingsCode(JAXXCompiler compiler)
-
createApplyDataBindingMethod
protected JavaMethod createApplyDataBindingMethod()
-
createRemoveDataBindingMethod
protected JavaMethod createRemoveDataBindingMethod()
-
createProcessDataBindingMethod
protected JavaMethod createProcessDataBindingMethod()
-
-