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.
|
boolean |
fluentSetters()
Whether fluent setters should be generated
|
void |
generate(Database db)
Do the code generation
|
protected void |
generateArray(SchemaDefinition schema,
ArrayDefinition array) |
protected void |
generateArrayClassFooter(ArrayDefinition array,
JavaWriter out)
Subclasses may override this method to provide array class footer code.
|
protected void |
generateArrays(SchemaDefinition schema) |
protected void |
generateDao(TableDefinition table) |
protected void |
generateDaoClassFooter(TableDefinition table,
JavaWriter out)
Subclasses may override this method to provide dao class footer code.
|
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 |
generateEnumClassFooter(EnumDefinition e,
JavaWriter out)
Subclasses may override this method to provide enum class footer code.
|
protected void |
generateEnums(SchemaDefinition schema) |
boolean |
generateGeneratedAnnotation()
Whether the
Generated annotation should be generated |
boolean |
generateGlobalObjectReferences()
Whether global object references 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) |
protected void |
generateInterfaceClassFooter(TableDefinition table,
JavaWriter out)
Subclasses may override this method to provide interface class footer
code.
|
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 |
generatePackageClassFooter(PackageDefinition pkg,
JavaWriter out)
Subclasses may override this method to provide package class footer code.
|
protected void |
generatePackages(SchemaDefinition schema) |
protected void |
generatePojo(TableDefinition table) |
protected void |
generatePojoClassFooter(TableDefinition table,
JavaWriter out)
Subclasses may override this method to provide POJO class footer code.
|
boolean |
generatePojos()
Whether POJO's should be generated in addition to records
|
protected void |
generatePojos(SchemaDefinition schema) |
protected void |
generateRecord(TableDefinition table) |
protected void |
generateRecordClassFooter(TableDefinition table,
JavaWriter out)
Subclasses may override this method to provide record class footer code.
|
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 |
generateRoutineClassFooter(RoutineDefinition routine,
JavaWriter out)
Subclasses may override this method to provide routine class footer code.
|
protected void |
generateRoutines(SchemaDefinition schema) |
protected void |
generateSchema(SchemaDefinition schema) |
protected void |
generateSchemaClassFooter(SchemaDefinition schema,
JavaWriter out)
Subclasses may override this method to provide schema class footer code.
|
protected void |
generateSequences(SchemaDefinition schema) |
protected void |
generateTable(SchemaDefinition schema,
TableDefinition table) |
protected void |
generateTableClassFooter(TableDefinition table,
JavaWriter out)
Subclasses may override this method to provide table class footer code.
|
protected void |
generateTableReferences(SchemaDefinition schema)
Generating central static table access
|
protected void |
generateTables(SchemaDefinition schema) |
protected void |
generateUDT(SchemaDefinition schema,
UDTDefinition udt) |
protected void |
generateUDTClassFooter(UDTDefinition udt,
JavaWriter out)
Subclasses may override this method to provide udt class footer code.
|
protected void |
generateUDTInterfaceClassFooter(UDTDefinition udt,
JavaWriter out)
Subclasses may override this method to provide UDT interface class footer code.
|
protected void |
generateUDTInterfaces(SchemaDefinition schema) |
protected void |
generateUDTPojoClassFooter(UDTDefinition udt,
JavaWriter out)
Subclasses may override this method to provide UDT POJO class footer code.
|
protected void |
generateUDTPojos(SchemaDefinition schema) |
protected void |
generateUDTRecord(UDTDefinition udt) |
protected void |
generateUDTRecordClassFooter(UDTDefinition udt,
JavaWriter out)
Subclasses may override this method to provide udt record class footer code.
|
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 |
getJavaType(DataTypeDefinition type,
GeneratorStrategy.Mode udtMode) |
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 |
getType(Database db,
SchemaDefinition schema,
String t,
int p,
int s,
String u,
String defaultType,
GeneratorStrategy.Mode udtMode) |
protected String |
getTypeReference(Database db,
SchemaDefinition schema,
String t,
int p,
int s,
int l,
boolean n,
boolean d,
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)
Deprecated.
- This method is no longer used by the generator.
|
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 |
printConvenienceMethodTableValuedFunctionAsField(JavaWriter out,
TableDefinition function,
boolean parametersAsField) |
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 |
printParagraph(GeneratorWriter<?> out,
String comment,
String indent) |
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 |
printTableValuedFunction(JavaWriter out,
TableDefinition table) |
protected void |
printUniqueKey(JavaWriter out,
int uniqueKeyCounter,
UniqueKeyDefinition uniqueKey) |
void |
setFluentSetters(boolean fluentSetters)
Whether fluent setters should be generated
|
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 |
setGenerateGlobalObjectReferences(boolean generateGlobalObjectReferences)
Whether global object references 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 generateRecordClassFooter(TableDefinition table, JavaWriter out)
table - The tableout - The writerprotected void generateInterfaces(SchemaDefinition schema)
protected void generateInterface(TableDefinition table)
protected void generateInterfaceClassFooter(TableDefinition table, JavaWriter out)
table - The tableout - The writerprotected void generateUDTs(SchemaDefinition schema)
protected void generateUDT(SchemaDefinition schema, UDTDefinition udt)
protected void generateUDTClassFooter(UDTDefinition udt, JavaWriter out)
udt - The udtout - The writerprotected void generateUDTPojos(SchemaDefinition schema)
protected void generateUDTPojoClassFooter(UDTDefinition udt, JavaWriter out)
udt - The UDTout - The writerprotected void generateUDTInterfaces(SchemaDefinition schema)
protected void generateUDTInterfaceClassFooter(UDTDefinition udt, JavaWriter out)
udt - The UDTout - The writerprotected void generateUDTRecords(SchemaDefinition schema)
protected void generateUDTRecord(UDTDefinition udt)
protected void generateUDTRecordClassFooter(UDTDefinition udt, JavaWriter out)
udt - The udtout - The writerprotected void generateUDTRoutines(SchemaDefinition schema)
protected void generateUDTReferences(SchemaDefinition schema)
protected void generateArrays(SchemaDefinition schema)
protected void generateArray(SchemaDefinition schema, ArrayDefinition array)
protected void generateArrayClassFooter(ArrayDefinition array, JavaWriter out)
array - The arrayout - The writerprotected void generateEnums(SchemaDefinition schema)
protected void generateEnum(EnumDefinition e)
protected void generateEnumClassFooter(EnumDefinition e, JavaWriter out)
e - The enumout - The writerprotected void generateRoutines(SchemaDefinition schema)
protected void printRoutine(JavaWriter out, RoutineDefinition routine)
protected void printTableValuedFunction(JavaWriter out, TableDefinition table)
protected void generatePackages(SchemaDefinition schema)
protected void generatePackage(SchemaDefinition schema, PackageDefinition pkg)
protected void generatePackageClassFooter(PackageDefinition pkg, JavaWriter out)
pkg - The packageout - The writerprotected void generateTableReferences(SchemaDefinition schema)
protected void generateDaos(SchemaDefinition schema)
protected void generateDao(TableDefinition table)
protected void generateDaoClassFooter(TableDefinition table, JavaWriter out)
table - The tableout - The writerprotected void generatePojos(SchemaDefinition schema)
protected void generatePojo(TableDefinition table)
protected void generatePojoClassFooter(TableDefinition table, JavaWriter out)
table - The tableout - The writerprotected void generateTables(SchemaDefinition schema)
protected void generateTable(SchemaDefinition schema, TableDefinition table)
protected void generateTableClassFooter(TableDefinition table, JavaWriter out)
table - The tableout - The writerprotected void generateSequences(SchemaDefinition schema)
protected void generateSchema(SchemaDefinition schema)
protected void generateSchemaClassFooter(SchemaDefinition schema, JavaWriter out)
schema - The schemaout - The writerprotected 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)
@Deprecated protected void printColumnValidationAnnotation(JavaWriter out, ColumnDefinition column)
protected void generateRoutine(SchemaDefinition schema, RoutineDefinition routine)
protected void generateRoutineClassFooter(RoutineDefinition routine, JavaWriter out)
routine - The routineout - The writerprotected void printConvenienceMethodFunctionAsField(JavaWriter out, RoutineDefinition function, boolean parametersAsField)
protected void printConvenienceMethodTableValuedFunctionAsField(JavaWriter out, TableDefinition 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 printParagraph(GeneratorWriter<?> 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 getJavaType(DataTypeDefinition type, GeneratorStrategy.Mode udtMode)
protected String getType(Database db, SchemaDefinition schema, String t, int p, int s, String u, String defaultType)
protected String getType(Database db, SchemaDefinition schema, String t, int p, int s, String u, String defaultType, GeneratorStrategy.Mode udtMode)
protected String getTypeReference(Database db, SchemaDefinition schema, String t, int p, int s, int l, boolean n, boolean d, 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 boolean generateGlobalObjectReferences()
GeneratorgenerateGlobalObjectReferences in interface Generatorpublic void setGenerateGlobalObjectReferences(boolean generateGlobalObjectReferences)
GeneratorsetGenerateGlobalObjectReferences in interface Generatorpublic boolean fluentSetters()
GeneratorfluentSetters in interface Generatorpublic void setFluentSetters(boolean fluentSetters)
GeneratorsetFluentSetters 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 © 2014. All Rights Reserved.