SPT Core API

com.sptci.echo2.binding
Class JDOModelDecoratorGenerator

java.lang.Object
  extended by com.sptci.CodeGenerator
      extended by com.sptci.echo2.binding.ModelGenerator
          extended by com.sptci.echo2.binding.JDOModelDecoratorGenerator

public class JDOModelDecoratorGenerator
extends ModelGenerator

A JDO JavaBean decorator generator. Uses reflection to create a decorator that maps the UI component fields in the specified class with their equivalent in the JDO JavaBean for the component.

The following shows the invocation semantics for this class:

  java -classpath <path to classes>:sptecho.jar:<path to Echo2_App.jar> \
    com.sptci.echo2.JDOModelDecoratorGenerator \
    <fully qualified name of UI class>
 

Copyright 2006 Sans Pareil Technologies, Inc.

Version:
$Id: JDOModelDecoratorGenerator.java 4553 2008-12-24 10:34:16Z rakesh $
Author:
Rakesh Vidyadharan 2006-02-07

Field Summary
 
Fields inherited from class com.sptci.echo2.binding.ModelGenerator
imports, source, uiFields
 
Fields inherited from class com.sptci.CodeGenerator
fields, name, primitives
 
Constructor Summary
JDOModelDecoratorGenerator(String name)
          Instantiates a new instance of ModelGenerator.source from the specified name.
 
Method Summary
 void generate()
          Load the class specified, and generate a JavaBean representing its UI components.
protected  String generateBeanMethods()
          Over-ridden to fire PropertyChangeEvents for mutator methods.
protected  String generateConstructors()
          Generate the constructors for the JavaBean.
protected  String generateDefaultConstructor()
          Generate the default constructor for the JavaBean
protected  String generateDesignatedConstructor()
          Generate the designated constructor for the JavaBean
protected  String generateFields()
          Generate the fields for the JavaBean.
protected  String generateMethods()
          Generate the methods for the JavaBean.
protected  String generatePropertyChangeFields()
          Generate the fields necessary to support PropertyChangeListener ability for the bean.
protected  String generatePropertyChangeMethods()
          Generate the methods to support property change events.
protected  void generateSource()
          Generate the source code for the JavaBean.
static void main(String[] args)
           
protected  void processComponent(Field field)
          Generate a Field for the JavaBean class that will be generated from the specified Echo2 UI component
 
Methods inherited from class com.sptci.CodeGenerator
generateCloneMethod, generateCompareToMethod, generateEqualsMethod, generateHashCodeMethod, generateToStringMethod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDOModelDecoratorGenerator

public JDOModelDecoratorGenerator(String name)
                           throws ClassNotFoundException
Instantiates a new instance of ModelGenerator.source from the specified name. Initialises code geneartor containers.

Parameters:
name - The fully qualified name of the class. Example: com.sptci.demo.InputForm.
Throws:
ClassNotFoundException - If the class corresponding to the name cannot be found in the classpath.
Method Detail

generate

public void generate()
              throws Exception
Load the class specified, and generate a JavaBean representing its UI components.

Overrides:
generate in class ModelGenerator
Throws:
Exception - If errors are encountered while writing to the source file.
See Also:
processComponent(java.lang.reflect.Field), generateSource()

processComponent

protected void processComponent(Field field)
Generate a Field for the JavaBean class that will be generated from the specified Echo2 UI component

Overrides:
processComponent in class ModelGenerator
Parameters:
field - The Field that represents the Echo2 component.

generateSource

protected void generateSource()
                       throws IOException
Generate the source code for the JavaBean.

Overrides:
generateSource in class ModelGenerator
Throws:
IOException - If errors are encountered while writing the generated source file.

generateFields

protected String generateFields()
Generate the fields for the JavaBean. Over-ridden to add code specific to the JavaBean.

Overrides:
generateFields in class ModelGenerator
Returns:
String The field declarations for the JavaBean.
See Also:
generatePropertyChangeFields()

generatePropertyChangeFields

protected String generatePropertyChangeFields()
Generate the fields necessary to support PropertyChangeListener ability for the bean.

Overrides:
generatePropertyChangeFields in class ModelGenerator
Returns:
String The field declarations necessary for property change support

generateConstructors

protected String generateConstructors()
Generate the constructors for the JavaBean.

Overrides:
generateConstructors in class ModelGenerator
Returns:
The text for all the constructors.
See Also:
generateDefaultConstructor(), generateDesignatedConstructor()

generateDefaultConstructor

protected String generateDefaultConstructor()
Generate the default constructor for the JavaBean

Overrides:
generateDefaultConstructor in class ModelGenerator
Returns:
The default constructor text.

generateDesignatedConstructor

protected String generateDesignatedConstructor()
Generate the designated constructor for the JavaBean

Overrides:
generateDesignatedConstructor in class ModelGenerator
Returns:
The designated constructor text.

generateMethods

protected String generateMethods()
Generate the methods for the JavaBean.

Overrides:
generateMethods in class ModelGenerator
Returns:
String The source code for the methods to be included in the JavaBean.
See Also:
CodeGenerator.generateToStringMethod(), CodeGenerator.generateEqualsMethod(), CodeGenerator.generateHashCodeMethod(), CodeGenerator.generateCompareToMethod(), CodeGenerator.generateCloneMethod(), generatePropertyChangeMethods(), generateBeanMethods()

generatePropertyChangeMethods

protected String generatePropertyChangeMethods()
Generate the methods to support property change events.

Overrides:
generatePropertyChangeMethods in class ModelGenerator
Returns:
String The source code for property change event handling.

generateBeanMethods

protected String generateBeanMethods()
Over-ridden to fire PropertyChangeEvents for mutator methods.

Overrides:
generateBeanMethods in class ModelGenerator
Returns:
String The default accessor and mutator methods for the CodeGenerator.fields.

main

public static void main(String[] args)

SPT Core API