
org.jooq.util.Generator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jooq-codegen Show documentation
Show all versions of jooq-codegen Show documentation
jOOQ's source code generator
/**
* Copyright (c) 2009-2016, Data Geekery GmbH (http://www.datageekery.com)
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Other licenses:
* -----------------------------------------------------------------------------
* Commercial licenses for this work are available. These replace the above
* ASL 2.0 and offer limited warranties, support, maintenance, and commercial
* database integrations.
*
* For more information, please visit: http://www.jooq.org/licenses
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package org.jooq.util;
import javax.annotation.Generated;
/**
* The Generator provides a basic interface for java code generation
*
* @author Lukas Eder
*/
public interface Generator {
/**
* Do the code generation
*/
void generate(Database database);
/**
* Set a naming strategy to this generator
*/
void setStrategy(GeneratorStrategy strategy);
/**
* Get this generator's underlying naming strategy
*/
GeneratorStrategy getStrategy();
/**
* Whether deprecated code should be generated
*/
boolean generateDeprecated();
/**
* Whether deprecated code should be generated
*/
void setGenerateDeprecated(boolean generateDeprecated);
/**
* Whether foreign key relations should be resolved
*/
boolean generateRelations();
/**
* Whether foreign key relations should be resolved
*/
void setGenerateRelations(boolean generateRelations);
/**
* Whether table-valued functions should be generated as tables.
*/
boolean generateTableValuedFunctions();
/**
* Whether table-valued functions should be generated as tables.
*/
void setGenerateTableValuedFunctions(boolean generateTableValuedFunctions);
/**
* Whether instance fields should be generated (as opposed to static fields)
*/
boolean generateInstanceFields();
/**
* Whether instance fields should be generated (as opposed to static fields)
*/
void setGenerateInstanceFields(boolean generateInstanceFields);
/**
* Whether the {@link Generated} annotation should be generated
*/
boolean generateGeneratedAnnotation();
/**
* Whether the {@link Generated} annotation should be generated
*/
void setGenerateGeneratedAnnotation(boolean generateGeneratedAnnotation);
boolean useSchemaVersionProvider();
void setUseSchemaVersionProvider(boolean useSchemaVersionProvider);
boolean useCatalogVersionProvider();
void setUseCatalogVersionProvider(boolean useCatalogVersionProvider);
/**
* Whether TableRecords should be generated in addition to tables
*/
boolean generateRecords();
/**
* Whether TableRecords should be generated in addition to tables
*/
void setGenerateRecords(boolean generateRecords);
/**
* Whether POJO's should be generated in addition to records
*/
boolean generatePojos();
/**
* Whether POJO's should be generated in addition to records
*/
void setGeneratePojos(boolean generatePojos);
/**
* Whether immutable POJO's should be generated in addition to records
*/
boolean generateImmutablePojos();
/**
* Whether immutable POJO's should be generated in addition to records
*/
void setGenerateImmutablePojos(boolean generateImmutablePojos);
/**
* Whether interfaces should be generated to be implemented by records and
* POJO's
*/
boolean generateInterfaces();
/**
* Whether interfaces should be generated to be implemented by records and
* POJO's
*/
void setGenerateInterfaces(boolean generateInterfaces);
/**
* Whether DAO's should be generated in addition to pojos
*/
boolean generateDaos();
/**
* Whether DAO's should be generated in addition to pojos
*/
void setGenerateDaos(boolean generateDaos);
/**
* Whether POJO's and records should be annotated with JPA annotations
*/
boolean generateJPAAnnotations();
/**
* Whether POJO's and records should be annotated with JPA annotations
*/
void setGenerateJPAAnnotations(boolean generateJPAAnnotations);
/**
* Whether POJO's and records should be annotated with JSR-303 validation
* annotations
*/
boolean generateValidationAnnotations();
/**
* Whether POJO's and records should be annotated with JSR-303 validation
* annotations
*/
void setGenerateValidationAnnotations(boolean generateValidationAnnotations);
/**
* Whether DAOs should be annotated with useful spring annotations such as
* @Repository
or @Autowired
*/
boolean generateSpringAnnotations();
/**
* Whether DAOs should be annotated with useful spring annotations such as
* @Repository
or @Autowired
*/
void setGenerateSpringAnnotations(boolean generateSpringAnnotations);
/**
* Whether global object references should be generated
*/
boolean generateGlobalObjectReferences();
/**
* Whether global object references should be generated
*/
void setGenerateGlobalObjectReferences(boolean generateGlobalObjectReferences);
/**
* Whether global catalog references should be generated
*/
boolean generateGlobalCatalogReferences();
/**
* Whether global catalog references should be generated
*/
void setGenerateGlobalCatalogReferences(boolean globalCatalogReferences);
/**
* Whether global schema references should be generated
*/
boolean generateGlobalSchemaReferences();
/**
* Whether global schema references should be generated
*/
void setGenerateGlobalSchemaReferences(boolean globalSchemaReferences);
/**
* Whether global routine references should be generated
*/
boolean generateGlobalRoutineReferences();
/**
* Whether global routine references should be generated
*/
void setGenerateGlobalRoutineReferences(boolean globalRoutineReferences);
/**
* Whether global sequence references should be generated
*/
boolean generateGlobalSequenceReferences();
/**
* Whether global sequence references should be generated
*/
void setGenerateGlobalSequenceReferences(boolean globalSequenceReferences);
/**
* Whether global table references should be generated
*/
boolean generateGlobalTableReferences();
/**
* Whether global table references should be generated
*/
void setGenerateGlobalTableReferences(boolean globalTableReferences);
/**
* Whether global UDT references should be generated
*/
boolean generateGlobalUDTReferences();
/**
* Whether global UDT references should be generated
*/
void setGenerateGlobalUDTReferences(boolean globalUDTReferences);
/**
* Whether global queue references should be generated
*/
boolean generateGlobalQueueReferences();
/**
* Whether global queue references should be generated
*/
void setGenerateGlobalQueueReferences(boolean globalQueueReferences);
/**
* Whether global link references should be generated
*/
boolean generateGlobalLinkReferences();
/**
* Whether global link references should be generated
*/
void setGenerateGlobalLinkReferences(boolean globalLinkReferences);
/**
* Whether queue related code should be generated
*/
boolean generateQueues();
/**
* Whether queue related code should be generated
*/
void setGenerateQueues(boolean queues);
/**
* Whether link related code should be generated
*/
boolean generateLinks();
/**
* Whether link related code should be generated
*/
void setGenerateLinks(boolean links);
/**
* Whether fluent setters should be generated
*/
boolean fluentSetters();
/**
* Whether fluent setters should be generated
*/
void setFluentSetters(boolean fluentSetters);
/**
* Whether equals()
and hashCode()
methods should
* be generated on POJOs
*/
boolean generatePojosEqualsAndHashCode();
/**
* Whether equals()
and hashCode()
methods should
* be generated on POJOs
*/
void setGeneratePojosEqualsAndHashCode(boolean generatePojosEqualsAndHashCode);
/**
* Whether a toString()
method should be generated on POJOs
*/
boolean generatePojosToString();
/**
* Whether a toString()
method should be generated on POJOs
*/
void setGeneratePojosToString(boolean generatePojosToString);
/**
* A regular expression matching all the types in generated code that should
* be fully qualified.
*
* @deprecated - Use {@link #generateFullyQualifiedTypes()} instead.
*/
@Deprecated
String fullyQualifiedTypes();
/**
* A regular expression matching all the types in generated code that should
* be fully qualified.
*
* @deprecated - Use {@link #setGenerateFullyQualifiedTypes(String)}
* instead.
*/
@Deprecated
void setFullyQualifiedTypes(String fullyQualifiedTypes);
/**
* A regular expression matching all the types in generated code that should
* be fully qualified.
*/
String generateFullyQualifiedTypes();
/**
* A regular expression matching all the types in generated code that should
* be fully qualified.
*/
void setGenerateFullyQualifiedTypes(String generateFullyQualifiedTypes);
/**
* The target directory
*/
String getTargetDirectory();
/**
* Initialise the target directory
*/
void setTargetDirectory(String directory);
/**
* The target encoding
*/
String getTargetEncoding();
/**
* Initialise the target encoding
*/
void setTargetEncoding(String encoding);
/**
* @return Get the target package for the current configuration
*/
String getTargetPackage();
/**
* Initialise the target package name
*/
void setTargetPackage(String packageName);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy