public class JavaGenerator extends Object
Replace this code with your own logic, if you need your database schema represented in a different way.
Note that you can also extend this class to generate POJO's or other stuff entirely independent of jOOQ.
| Modifier and Type | Field and Description |
|---|---|
protected org.jooq.util.GeneratorStrategyWrapper |
strategy |
| Constructor and Description |
|---|
JavaGenerator() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
empty(File file,
String suffix)
If file is a directory, recursively empty its children.
|
void |
generate(Database db)
Do the code generation
|
protected void |
generateArray(SchemaDefinition schema,
ArrayDefinition array) |
protected void |
generateArrays(SchemaDefinition schema) |
protected void |
generateDao(TableDefinition table) |
boolean |
generateDaos()
Whether DAO's should be generated in addition to pojos
|
protected void |
generateDaos(SchemaDefinition schema) |
boolean |
generateDeprecated()
Whether deprecated code should be generated
|
protected void |
generateEnum(EnumDefinition e) |
protected void |
generateEnums(SchemaDefinition schema) |
boolean |
generateGeneratedAnnotation()
Whether the
Generated annotation should be generated |
boolean |
generateImmutablePojos()
Whether immutable POJO's should be generated in addition to records
|
boolean |
generateInstanceFields()
Whether instance fields should be generated (as opposed to static fields)
|
protected void |
generateInterface(TableDefinition table) |
boolean |
generateInterfaces()
Whether interfaces should be generated to be implemented by records and
POJO's
|
protected void |
generateInterfaces(SchemaDefinition schema) |
boolean |
generateJPAAnnotations()
Whether POJO's and records should be annotated with JPA annotations
|
protected void |
generatePackage(SchemaDefinition schema,
PackageDefinition pkg) |
protected void |
generatePackages(SchemaDefinition schema) |
protected void |
generatePojo(TableDefinition table) |
boolean |
generatePojos()
Whether POJO's should be generated in addition to records
|
protected void |
generatePojos(SchemaDefinition schema) |
protected void |
generateRecord(TableDefinition table) |
boolean |
generateRecords()
Whether TableRecords should be generated in addition to tables
|
protected void |
generateRecords(SchemaDefinition schema) |
boolean |
generateRelations()
Whether foreign key relations should be resolved
|
protected void |
generateRelations(SchemaDefinition schema) |
protected void |
generateRoutine(SchemaDefinition schema,
RoutineDefinition routine) |
protected void |
generateRoutines(SchemaDefinition schema) |
protected void |
generateSchema(SchemaDefinition schema) |
protected void |
generateSequences(SchemaDefinition schema) |
protected void |
generateTable(SchemaDefinition schema,
TableDefinition table) |
protected void |
generateTableReferences(SchemaDefinition schema)
Generating central static table access
|
protected void |
generateTables(SchemaDefinition schema) |
protected void |
generateUDT(SchemaDefinition schema,
UDTDefinition udt) |
protected void |
generateUDTRecord(UDTDefinition udt) |
protected void |
generateUDTRecords(SchemaDefinition schema)
Generating UDT record classes
|
protected void |
generateUDTReferences(SchemaDefinition schema)
Generating central static udt access
|
protected void |
generateUDTRoutines(SchemaDefinition schema) |
protected void |
generateUDTs(SchemaDefinition schema) |
boolean |
generateValidationAnnotations()
Whether POJO's and records should be annotated with JSR-303 validation
annotations
|
protected String |
getExtendsNumberType(DataTypeDefinition type) |
protected String |
getJavaType(DataTypeDefinition type) |
protected String |
getJavaTypeReference(Database db,
DataTypeDefinition type) |
protected String |
getNumberType(DataTypeDefinition type) |
protected String |
getNumberType(DataTypeDefinition type,
String prefix) |
protected String |
getSimpleJavaType(DataTypeDefinition type) |
GeneratorStrategy |
getStrategy()
Get this generator's underlying naming strategy
|
String |
getTargetDirectory()
The target directory
|
String |
getTargetPackage() |
protected String |
getType(Database db,
SchemaDefinition schema,
String t,
int p,
int s,
String u,
String defaultType) |
protected String |
getTypeReference(Database db,
SchemaDefinition schema,
String t,
int p,
int s,
int l,
String u) |
protected boolean |
match(DataTypeDefinition type1,
DataTypeDefinition type2) |
protected void |
printClassJavadoc(JavaWriter out,
Definition definition) |
protected void |
printClassJavadoc(JavaWriter out,
String comment) |
protected void |
printColumnJPAAnnotation(JavaWriter out,
ColumnDefinition column) |
protected void |
printColumnValidationAnnotation(JavaWriter out,
ColumnDefinition column) |
protected void |
printConvenienceMethodFunction(JavaWriter out,
RoutineDefinition function,
boolean instance) |
protected void |
printConvenienceMethodFunctionAsField(JavaWriter out,
RoutineDefinition function,
boolean parametersAsField) |
protected void |
printConvenienceMethodProcedure(JavaWriter out,
RoutineDefinition procedure,
boolean instance) |
protected void |
printForeignKey(JavaWriter out,
int foreignKeyCounter,
ForeignKeyDefinition foreignKey) |
protected void |
printFromAndInto(JavaWriter out,
TableDefinition table) |
protected void |
printIdentity(JavaWriter out,
int identityCounter,
IdentityDefinition identity) |
protected void |
printJavadocParagraph(JavaWriter out,
String comment,
String indent)
This method is used to add line breaks in lengthy javadocs
|
protected void |
printPackage(JavaWriter out,
Definition definition) |
protected void |
printPackage(JavaWriter out,
Definition definition,
GeneratorStrategy.Mode mode) |
protected void |
printRecordTypeMethod(JavaWriter out,
Definition definition) |
protected void |
printRoutine(JavaWriter out,
RoutineDefinition routine) |
protected void |
printSchemaReferences(JavaWriter out,
List<? extends Definition> definitions,
Class<?> type,
boolean isGeneric) |
protected void |
printSingletonInstance(JavaWriter out,
Definition definition) |
protected void |
printTableJPAAnnotation(JavaWriter out,
TableDefinition table) |
protected void |
printUniqueKey(JavaWriter out,
int uniqueKeyCounter,
UniqueKeyDefinition uniqueKey) |
void |
setGenerateDaos(boolean generateDaos)
Whether DAO's should be generated in addition to pojos
|
void |
setGenerateDeprecated(boolean generateDeprecated)
Whether deprecated code should be generated
|
void |
setGenerateGeneratedAnnotation(boolean generateGeneratedAnnotation)
Whether the
Generated annotation should be generated |
void |
setGenerateImmutablePojos(boolean generateImmutablePojos)
Whether immutable POJO's should be generated in addition to records
|
void |
setGenerateInstanceFields(boolean generateInstanceFields)
Whether instance fields should be generated (as opposed to static fields)
|
void |
setGenerateInterfaces(boolean generateInterfaces)
Whether interfaces should be generated to be implemented by records and
POJO's
|
void |
setGenerateJPAAnnotations(boolean generateJPAAnnotations)
Whether POJO's and records should be annotated with JPA annotations
|
void |
setGeneratePojos(boolean generatePojos)
Whether POJO's should be generated in addition to records
|
void |
setGenerateRecords(boolean generateRecords)
Whether TableRecords should be generated in addition to tables
|
void |
setGenerateRelations(boolean generateRelations)
Whether foreign key relations should be resolved
|
void |
setGenerateValidationAnnotations(boolean generateValidationAnnotations)
Whether POJO's and records should be annotated with JSR-303 validation
annotations
|
void |
setStrategy(GeneratorStrategy strategy)
Set a naming strategy to this generator
|
void |
setTargetDirectory(String directory)
Initialise the target directory
|
void |
setTargetPackage(String packageName)
Initialise the target package name
|
protected org.jooq.util.GeneratorStrategyWrapper strategy
public final void generate(Database db)
Generatorprotected void generateRelations(SchemaDefinition schema)
protected void printIdentity(JavaWriter out, int identityCounter, IdentityDefinition identity)
protected void printUniqueKey(JavaWriter out, int uniqueKeyCounter, UniqueKeyDefinition uniqueKey)
protected void printForeignKey(JavaWriter out, int foreignKeyCounter, ForeignKeyDefinition foreignKey)
protected void generateRecords(SchemaDefinition schema)
protected void generateRecord(TableDefinition table)
protected void generateInterfaces(SchemaDefinition schema)
protected void generateInterface(TableDefinition table)
protected void generateUDTs(SchemaDefinition schema)
protected void generateUDT(SchemaDefinition schema, UDTDefinition udt)
protected void generateUDTRecords(SchemaDefinition schema)
protected void generateUDTRecord(UDTDefinition udt)
protected void generateUDTRoutines(SchemaDefinition schema)
protected void generateUDTReferences(SchemaDefinition schema)
protected void generateArrays(SchemaDefinition schema)
protected void generateArray(SchemaDefinition schema, ArrayDefinition array)
protected void generateEnums(SchemaDefinition schema)
protected void generateEnum(EnumDefinition e)
protected void generateRoutines(SchemaDefinition schema)
protected void printRoutine(JavaWriter out, RoutineDefinition routine)
protected void generatePackages(SchemaDefinition schema)
protected void generatePackage(SchemaDefinition schema, PackageDefinition pkg)
protected void generateTableReferences(SchemaDefinition schema)
protected void generateDaos(SchemaDefinition schema)
protected void generateDao(TableDefinition table)
protected void generatePojos(SchemaDefinition schema)
protected void generatePojo(TableDefinition table)
protected void generateTables(SchemaDefinition schema)
protected void generateTable(SchemaDefinition schema, TableDefinition table)
protected void generateSequences(SchemaDefinition schema)
protected void generateSchema(SchemaDefinition schema)
protected void printFromAndInto(JavaWriter out, TableDefinition table)
protected void printSchemaReferences(JavaWriter out, List<? extends Definition> definitions, Class<?> type, boolean isGeneric)
protected void printTableJPAAnnotation(JavaWriter out, TableDefinition table)
protected void printColumnJPAAnnotation(JavaWriter out, ColumnDefinition column)
protected void printColumnValidationAnnotation(JavaWriter out, ColumnDefinition column)
protected void generateRoutine(SchemaDefinition schema, RoutineDefinition routine)
protected void printConvenienceMethodFunctionAsField(JavaWriter out, RoutineDefinition function, boolean parametersAsField)
protected void printConvenienceMethodFunction(JavaWriter out, RoutineDefinition function, boolean instance)
protected void printConvenienceMethodProcedure(JavaWriter out, RoutineDefinition procedure, boolean instance)
protected void printRecordTypeMethod(JavaWriter out, Definition definition)
protected void printSingletonInstance(JavaWriter out, Definition definition)
protected void printClassJavadoc(JavaWriter out, Definition definition)
protected void printClassJavadoc(JavaWriter out, String comment)
protected void printJavadocParagraph(JavaWriter out, String comment, String indent)
protected void printPackage(JavaWriter out, Definition definition)
protected void printPackage(JavaWriter out, Definition definition, GeneratorStrategy.Mode mode)
protected String getExtendsNumberType(DataTypeDefinition type)
protected String getNumberType(DataTypeDefinition type)
protected String getNumberType(DataTypeDefinition type, String prefix)
protected String getSimpleJavaType(DataTypeDefinition type)
protected String getJavaTypeReference(Database db, DataTypeDefinition type)
protected String getJavaType(DataTypeDefinition type)
protected String getType(Database db, SchemaDefinition schema, String t, int p, int s, String u, String defaultType)
protected String getTypeReference(Database db, SchemaDefinition schema, String t, int p, int s, int l, String u)
protected boolean match(DataTypeDefinition type1, DataTypeDefinition type2)
public void setStrategy(GeneratorStrategy strategy)
GeneratorsetStrategy in interface Generatorpublic GeneratorStrategy getStrategy()
GeneratorgetStrategy in interface Generatorpublic boolean generateDeprecated()
GeneratorgenerateDeprecated in interface Generatorpublic void setGenerateDeprecated(boolean generateDeprecated)
GeneratorsetGenerateDeprecated in interface Generatorpublic boolean generateRelations()
GeneratorgenerateRelations in interface Generatorpublic void setGenerateRelations(boolean generateRelations)
GeneratorsetGenerateRelations in interface Generatorpublic boolean generateInstanceFields()
GeneratorgenerateInstanceFields in interface Generatorpublic void setGenerateInstanceFields(boolean generateInstanceFields)
GeneratorsetGenerateInstanceFields in interface Generatorpublic boolean generateGeneratedAnnotation()
GeneratorGenerated annotation should be generatedgenerateGeneratedAnnotation in interface Generatorpublic void setGenerateGeneratedAnnotation(boolean generateGeneratedAnnotation)
GeneratorGenerated annotation should be generatedsetGenerateGeneratedAnnotation in interface Generatorpublic boolean generateRecords()
GeneratorgenerateRecords in interface Generatorpublic void setGenerateRecords(boolean generateRecords)
GeneratorsetGenerateRecords in interface Generatorpublic boolean generatePojos()
GeneratorgeneratePojos in interface Generatorpublic void setGeneratePojos(boolean generatePojos)
GeneratorsetGeneratePojos in interface Generatorpublic boolean generateImmutablePojos()
GeneratorgenerateImmutablePojos in interface Generatorpublic void setGenerateImmutablePojos(boolean generateImmutablePojos)
GeneratorsetGenerateImmutablePojos in interface Generatorpublic boolean generateInterfaces()
GeneratorgenerateInterfaces in interface Generatorpublic void setGenerateInterfaces(boolean generateInterfaces)
GeneratorsetGenerateInterfaces in interface Generatorpublic boolean generateDaos()
GeneratorgenerateDaos in interface Generatorpublic void setGenerateDaos(boolean generateDaos)
GeneratorsetGenerateDaos in interface Generatorpublic boolean generateJPAAnnotations()
GeneratorgenerateJPAAnnotations in interface Generatorpublic void setGenerateJPAAnnotations(boolean generateJPAAnnotations)
GeneratorsetGenerateJPAAnnotations in interface Generatorpublic boolean generateValidationAnnotations()
GeneratorgenerateValidationAnnotations in interface Generatorpublic void setGenerateValidationAnnotations(boolean generateValidationAnnotations)
GeneratorsetGenerateValidationAnnotations in interface Generatorpublic void setTargetDirectory(String directory)
GeneratorsetTargetDirectory in interface Generatorpublic String getTargetDirectory()
GeneratorgetTargetDirectory in interface Generatorpublic void setTargetPackage(String packageName)
GeneratorsetTargetPackage in interface Generatorpublic String getTargetPackage()
getTargetPackage in interface GeneratorCopyright © 2013. All Rights Reserved.