org.ephman.abra.tools
Class GenericSchemaGenerator

java.lang.Object
  |
  +--org.ephman.abra.tools.GenericSchemaGenerator
Direct Known Subclasses:
SchemaGenerator

public abstract class GenericSchemaGenerator
extends java.lang.Object

given a base output directory generate a schema file generic !! copy a db specific generator from sub directory

Version:
0.0.2
Author:
Paul M. Bethe

Field Summary
protected  java.io.StringWriter cleanup
           
protected  java.lang.String cleanupConstraints
           
protected  java.io.FileWriter cleanupFile
           
protected  java.util.HashSet constraintList
           
protected  java.lang.String constraints
           
protected  java.lang.String END_DATE
           
protected  java.lang.String END_DATE_TYPE
           
protected  char fileSeperator
           
protected  java.lang.String outdir
           
protected  java.io.FileWriter schemaFile
           
protected  java.lang.String VERSION_NUMBER
           
 
Constructor Summary
GenericSchemaGenerator(java.lang.String outFileName)
           
 
Method Summary
protected  void addConstraint(JClass currentClass, java.lang.String consName, JConstraint jcons, java.lang.String sOut)
           
protected  void addIndex(JClass currentClass, java.lang.String sOut, JIndex index)
           
protected  void cleanUpConstraint(JClass currentClass, java.lang.String consName)
           
protected  void cleanUpIndex(JClass currentClass, JIndex index)
           
 void close()
          generic close if you want to write constraints -- override (see Oracle version)
protected  java.lang.String convertFields(java.lang.String fields, JClass currentClass)
           
 void generate(JClass currentClass)
           
protected  java.lang.String getDropSeqStmt(JClass currentClass)
           
protected  java.lang.String getSqlOutType(JField jf)
           
 void inlineField(JClass currentClass, JCompositeField jcf, java.util.HashSet fieldNames)
           
protected  java.lang.String jToSql(java.lang.String javaName, JClass currentClass)
           
protected  java.lang.String makeConstraintName(java.lang.String consName)
           
(package private)  boolean needsSequence()
           
protected  void writeCheckConstraint(JClass currentClass, java.lang.String cons_name, JField jf)
           
protected  void writeFieldSchema(JClass currentClass, JField jf, java.lang.String primaryKey, boolean is_first)
           
protected  void writeForeignKey(JClass currentClass, java.lang.String cons_name, JField jf, JClass foreignClass)
           
protected  void writePrimaryKey(JClass currentClass, java.lang.String sqlName)
          generic primary in table creation..
protected  void writeUniqueConstraint(JClass currentClass, JField jf)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

END_DATE

protected java.lang.String END_DATE

END_DATE_TYPE

protected java.lang.String END_DATE_TYPE

VERSION_NUMBER

protected java.lang.String VERSION_NUMBER

outdir

protected java.lang.String outdir

fileSeperator

protected char fileSeperator

schemaFile

protected java.io.FileWriter schemaFile

cleanupFile

protected java.io.FileWriter cleanupFile

constraintList

protected java.util.HashSet constraintList

cleanup

protected java.io.StringWriter cleanup

constraints

protected java.lang.String constraints

cleanupConstraints

protected java.lang.String cleanupConstraints
Constructor Detail

GenericSchemaGenerator

public GenericSchemaGenerator(java.lang.String outFileName)
                       throws java.io.IOException,
                              SchemaException
Method Detail

close

public void close()
           throws java.io.IOException,
                  SchemaException
generic close if you want to write constraints -- override (see Oracle version)

java.io.IOException
SchemaException

generate

public void generate(JClass currentClass)
              throws java.io.IOException,
                     SchemaException
java.io.IOException
SchemaException

addIndex

protected void addIndex(JClass currentClass,
                        java.lang.String sOut,
                        JIndex index)

cleanUpIndex

protected void cleanUpIndex(JClass currentClass,
                            JIndex index)

addConstraint

protected void addConstraint(JClass currentClass,
                             java.lang.String consName,
                             JConstraint jcons,
                             java.lang.String sOut)

cleanUpConstraint

protected void cleanUpConstraint(JClass currentClass,
                                 java.lang.String consName)

needsSequence

boolean needsSequence()

getDropSeqStmt

protected java.lang.String getDropSeqStmt(JClass currentClass)

convertFields

protected java.lang.String convertFields(java.lang.String fields,
                                         JClass currentClass)
                                  throws SchemaException,
                                         java.io.IOException
SchemaException
java.io.IOException

jToSql

protected java.lang.String jToSql(java.lang.String javaName,
                                  JClass currentClass)
                           throws java.io.IOException,
                                  SchemaException
java.io.IOException
SchemaException

writeUniqueConstraint

protected void writeUniqueConstraint(JClass currentClass,
                                     JField jf)
                              throws java.io.IOException,
                                     SchemaException
java.io.IOException
SchemaException

makeConstraintName

protected java.lang.String makeConstraintName(java.lang.String consName)
                                       throws SchemaException
SchemaException

writePrimaryKey

protected void writePrimaryKey(JClass currentClass,
                               java.lang.String sqlName)
                        throws java.io.IOException
generic primary in table creation..

java.io.IOException

inlineField

public void inlineField(JClass currentClass,
                        JCompositeField jcf,
                        java.util.HashSet fieldNames)
                 throws java.io.IOException,
                        SchemaException
java.io.IOException
SchemaException

getSqlOutType

protected java.lang.String getSqlOutType(JField jf)

writeFieldSchema

protected void writeFieldSchema(JClass currentClass,
                                JField jf,
                                java.lang.String primaryKey,
                                boolean is_first)
                         throws java.io.IOException,
                                SchemaException
java.io.IOException
SchemaException

writeCheckConstraint

protected void writeCheckConstraint(JClass currentClass,
                                    java.lang.String cons_name,
                                    JField jf)
                             throws java.io.IOException
java.io.IOException

writeForeignKey

protected void writeForeignKey(JClass currentClass,
                               java.lang.String cons_name,
                               JField jf,
                               JClass foreignClass)
                        throws java.io.IOException
java.io.IOException