[#4952] [#4954] New code generation flags

- [#4954] Add flag to turn off generation of queues
- [#4952] Add flag to turn off generation of database links
This commit is contained in:
lukaseder 2016-01-20 11:05:53 +01:00
parent 13c631a7d1
commit 8f30b065c0
4 changed files with 116 additions and 4 deletions

View File

@ -68,6 +68,8 @@ abstract class AbstractGenerator implements Generator {
boolean generateJPAAnnotations = false;
boolean generateValidationAnnotations = false;
boolean generateSpringAnnotations = false;
boolean generateQueues = true;
boolean generateLinks = true;
boolean generateGlobalObjectReferences = true;
boolean generateGlobalCatalogReferences = true;
boolean generateGlobalSchemaReferences = true;
@ -75,6 +77,8 @@ abstract class AbstractGenerator implements Generator {
boolean generateGlobalSequenceReferences = true;
boolean generateGlobalTableReferences = true;
boolean generateGlobalUDTReferences = true;
boolean generateGlobalQueueReferences = true;
boolean generateGlobalLinkReferences = true;
boolean fluentSetters = false;
String generateFullyQualifiedTypes = "";
boolean generateTableValuedFunctions = true;
@ -330,6 +334,46 @@ abstract class AbstractGenerator implements Generator {
this.generateGlobalUDTReferences = generateGlobalUDTReferences;
}
@Override
public boolean generateGlobalQueueReferences() {
return generateQueues && generateGlobalQueueReferences;
}
@Override
public void setGenerateGlobalQueueReferences(boolean globalQueueReferences) {
this.generateGlobalQueueReferences = globalQueueReferences;
}
@Override
public boolean generateGlobalLinkReferences() {
return generateLinks && generateGlobalLinkReferences;
}
@Override
public void setGenerateGlobalLinkReferences(boolean globalLinkReferences) {
this.generateGlobalLinkReferences = globalLinkReferences;
}
@Override
public boolean generateQueues() {
return generateQueues;
}
@Override
public void setGenerateQueues(boolean queues) {
this.generateQueues = queues;
}
@Override
public boolean generateLinks() {
return generateLinks;
}
@Override
public void setGenerateLinks(boolean links) {
this.generateLinks = links;
}
@Override
public boolean fluentSetters() {
return fluentSetters;

View File

@ -71,16 +71,14 @@ import org.jooq.Constants;
import org.jooq.tools.JooqLogger;
import org.jooq.tools.StringUtils;
import org.jooq.tools.jdbc.JDBCUtils;
import org.jooq.util.jaxb.Configuration;
import org.jooq.util.jaxb.Generate;
import org.jooq.util.jaxb.Jdbc;
import org.jooq.util.jaxb.Matchers;
import org.jooq.util.jaxb.Property;
import org.jooq.util.jaxb.Schema;
import org.jooq.util.jaxb.Strategy;
import org.jooq.util.jaxb.Target;
// ...
import sun.rmi.transport.Target;
/**
* The GenerationTool takes care of generating Java code from a database schema.
* <p>
@ -439,6 +437,12 @@ public class GenerationTool {
generator.setGenerateValidationAnnotations(g.getGenerate().isValidationAnnotations());
if (g.getGenerate().isSpringAnnotations() != null)
generator.setGenerateSpringAnnotations(g.getGenerate().isSpringAnnotations());
if (g.getGenerate().isQueues() != null)
generator.setGenerateQueues(g.getGenerate().isQueues());
if (g.getGenerate().isLinks() != null)
generator.setGenerateLinks(g.getGenerate().isLinks());
if (g.getGenerate().isGlobalLinkReferences() != null)
generator.setGenerateGlobalLinkReferences(g.getGenerate().isGlobalLinkReferences());
if (g.getGenerate().isGlobalObjectReferences() != null)
generator.setGenerateGlobalObjectReferences(g.getGenerate().isGlobalObjectReferences());
if (g.getGenerate().isGlobalCatalogReferences() != null)
@ -453,6 +457,10 @@ public class GenerationTool {
generator.setGenerateGlobalTableReferences(g.getGenerate().isGlobalTableReferences());
if (g.getGenerate().isGlobalUDTReferences() != null)
generator.setGenerateGlobalUDTReferences(g.getGenerate().isGlobalUDTReferences());
if (g.getGenerate().isGlobalQueueReferences() != null)
generator.setGenerateGlobalQueueReferences(g.getGenerate().isGlobalQueueReferences());
if (g.getGenerate().isGlobalLinkReferences() != null)
generator.setGenerateGlobalLinkReferences(g.getGenerate().isGlobalLinkReferences());
if (g.getGenerate().isFluentSetters() != null)
generator.setFluentSetters(g.getGenerate().isFluentSetters());
if (g.getGenerate().isPojosEqualsAndHashCode() != null)

View File

@ -276,6 +276,46 @@ public interface Generator {
*/
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
*/

View File

@ -794,6 +794,26 @@
-->
<element name="globalRoutineReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of global queue references in Queues.java
-->
<element name="globalQueueReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of global link references in Links.java
-->
<element name="globalLinkReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of queue related code
-->
<element name="queues" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of link related code
-->
<element name="links" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Generate fluent setters in