Class TableCreatorClassGenerator

java.lang.Object
org.eclipse.persistence.sessions.factories.TableCreatorClassGenerator

public class TableCreatorClassGenerator extends Object

Purpose: Allow for a class storing a TopLink table creator's tables (meta-data) to be generated. This class can then be used at runtime to (re)create a project's database schema.

Author:
James Sutherland
  • Field Details

    • className

      protected String className
    • packageName

      protected String packageName
    • outputPath

      protected String outputPath
    • outputFileName

      protected String outputFileName
    • outputWriter

      protected Writer outputWriter
    • tableCreator

      protected TableCreator tableCreator
  • Constructor Details

    • TableCreatorClassGenerator

      public TableCreatorClassGenerator()
      PUBLIC: Create a new generator.
    • TableCreatorClassGenerator

      public TableCreatorClassGenerator(TableCreator tableCreator)
      PUBLIC: Create a new generator to output the table creator.
    • TableCreatorClassGenerator

      public TableCreatorClassGenerator(TableCreator tableCreator, String projectClassName, Writer outputWriter)
      PUBLIC: Create a new generator to output the table creator.
    • TableCreatorClassGenerator

      public TableCreatorClassGenerator(TableCreator tableCreator, String projectClassName, String fileName)
      PUBLIC: Create a new generator to output the table creator.
  • Method Details

    • addFieldLines

      protected void addFieldLines(FieldDefinition field, org.eclipse.persistence.internal.codegen.NonreflectiveMethodDefinition method)
    • addForeignKeyLines

      protected void addForeignKeyLines(ForeignKeyConstraint foreignKey, org.eclipse.persistence.internal.codegen.NonreflectiveMethodDefinition method)
    • buildConstructor

      protected org.eclipse.persistence.internal.codegen.NonreflectiveMethodDefinition buildConstructor()
    • buildLoginMethod

      protected org.eclipse.persistence.internal.codegen.NonreflectiveMethodDefinition buildLoginMethod(DatabaseLogin login)
    • buildTableMethod

      protected org.eclipse.persistence.internal.codegen.NonreflectiveMethodDefinition buildTableMethod(TableDefinition table)
    • generate

      public void generate(boolean useUnicode) throws ValidationException
      PUBLIC: Generate the creator class, output the java source code to the stream or file. useUnicode determines if unicode escaped characters for non_ASCII charaters will be used.
      Throws:
      ValidationException
    • generate

      public void generate() throws ValidationException
      PUBLIC: Generate the project class, output the java source code to the stream or file. Unicode escaped characters for non_ASCII charaters will be used.
      Throws:
      ValidationException
    • generateCreatorClass

      protected org.eclipse.persistence.internal.codegen.ClassDefinition generateCreatorClass()
      Return a class definition object representing the code to be generated for the table creator. This class will have one method per descriptor and its toString can be used to convert it to code.
    • getClassName

      public String getClassName()
      PUBLIC: Return the name of class to be generated. This is the unqualified name.
    • getOutputFileName

      public String getOutputFileName()
      PUBLIC: Return the file name that the generate .java file will be output to.
    • getOutputPath

      public String getOutputPath()
      PUBLIC: Return the path that the generate .java file will be output to.
    • getOutputWriter

      public Writer getOutputWriter()
      PUBLIC: Return the writer the output to.
    • getPackageName

      public String getPackageName()
      PUBLIC: Return the package name of class to be generated.
    • getTableCreator

      public TableCreator getTableCreator()
      PUBLIC: Return the table creator to generate from.
    • printString

      protected String printString(Object value)
      Return the printed version of the primitive value object. This must determine the class and use the correct constrcutor arguments.
    • removeDots

      protected String removeDots(String packageName)
    • setClassName

      public void setClassName(String newClassName)
      PUBLIC: Set the name of class to be generated. This can be qualified or unqualified name and will set the file name to match.
    • setOutputFileName

      public void setOutputFileName(String newOutputFileName)
      PUBLIC: Set the file name that the generate .java file will be output to. If the file does not include .java it will be appended.
    • setOutputPath

      public void setOutputPath(String newOutputPath)
      PUBLIC: Set the path that the generate .java file will be output to.
    • setOutputWriter

      public void setOutputWriter(Writer outputWriter)
      PUBLIC: Set the writer the output to.
    • setPackageName

      public void setPackageName(String newPackageName)
      PUBLIC: Set the package name of class to be generated.
    • setTableCreator

      public void setTableCreator(TableCreator tableCreator)
      PUBLIC: Set the table creator to generate from. All of the creator's tables will be stored into the file.
    • write

      public static void write(TableCreator tableCreator, String creatorClassName, Writer writer)
      PUBLIC: Generate the source code to a table creator class to the table creator's tables into the writer.
    • write

      public static void write(TableCreator tableCreator, String creatorClassName, String fileName)
      PUBLIC: Generate the source code to a table creator class to the table creator's tables into the file.