public class CortexGenerator
extends java.lang.Object
This class is a utility that will generate a set of Cortex bean definitions from a schema definition properties file. The property file defines the names of tables, columns, column types, etc. This class will read this property file and generate a bean corresponding to each table, with a property corresponding to each column. The resulting beans will also implement CortexFactory, and will contain a static "createTableDeclaration" method that returns the table declaration that can be used to create the table in the database.
The schema definition properties file has the following definition:
| sqlType | java property type | 
|---|---|
| BIT | boolean | 
| TINYINT | byte | 
| SMALLINT | short | 
| INTEGER | int | 
| BIGINT | long | 
| FLOAT | double | 
| REAL | float | 
| DOUBLE | double | 
| NUMERIC | java.math.BigDecimal | 
| DECIMAL | java.math.BigDecimal | 
| CHAR | String | 
| VARCHAR | String | 
| LONGVARCHAR | String | 
| DATE | java.sql.Date | 
| TIME | java.sql.Time | 
| TIMESTAMP | java.sql.Timestamp | 
| BINARY | byte[] | 
| VARBINARY | byte[] | 
| LONGVARBINARY | byte[] | 
The following is an example of properties file used to generate a schema:
 packageName=atg.cortex.test
 schemaManipulator=Schema
 
 #####################################
 # Person table
 
 tables.Person.comment=\
        Represents a single person
 
 # Person.name
 
 tables.Person.columns.name.comment=\
        The person's name
 tables.Person.columns.name.sqlType=VARCHAR(40)
 tables.Person.columns.name.constraints=NOT NULL PRIMARY KEY
 tables.Person.columns.name.primaryKey=true
 
 # Person.age
 
 tables.Person.columns.age.comment=\
        The person's age
 tables.Person.columns.age.sqlType=INTEGER
 
 # Person.birthmonth
 
 tables.Person.columns.birthmonth.comment=\
        The month in which the person was born
 tables.Person.columns.birthmonth.sqlType=VARCHAR(40)
 
 
 #####################################
 # Birthstone table
 
 tables.Birthstone.comment=\
        Represents a mapping from a month to a birthstone
 
 # Birthstone.month
 
 tables.Birthstone.columns.month.comment=\
        The month to which a stone is mapped
 tables.Birthstone.columns.month.sqlType=VARCHAR(40)
 tables.Birthstone.columns.month.constraints=NOT NULL PRIMARY KEY
 tables.Birthstone.columns.month.primaryKey=true
 
 # Birthstone.stone
 
 tables.Birthstone.columns.stone.comment=\
        The birthstone stone corresponding to the month
 tables.Birthstone.columns.stone.sqlType=VARCHAR(40)
 
 | Modifier and Type | Field and Description | 
|---|---|
static java.lang.String | 
CLASS_VERSION  | 
| Modifier and Type | Method and Description | 
|---|---|
static void | 
main(java.lang.String[] pArgs)
Usage: CortexGenerator {propertiesFile} {outputDirectory} 
 | 
void | 
writeClassComment(java.io.PrintStream pOut,
                 java.lang.String pComment)
Writes the initial class comments 
 | 
public void writeClassComment(java.io.PrintStream pOut,
                              java.lang.String pComment)
public static void main(java.lang.String[] pArgs)
                 throws java.io.IOException
java.io.IOException