[#4124] Add <username/> as a synonym for <user/> in the code generation configuration

This commit is contained in:
lukaseder 2015-10-14 17:32:02 +02:00
parent bd2420b410
commit 0a63655957
5 changed files with 811 additions and 5 deletions

View File

@ -201,7 +201,7 @@ public class GenerationTool {
Properties properties = properties(j.getProperties());
if (!properties.containsKey("user"))
properties.put("user", defaultString(j.getUser()));
properties.put("user", defaultString(defaultString(j.getUser(), j.getUsername())));
if (!properties.containsKey("password"))
properties.put("password", defaultString(j.getPassword()));

View File

@ -47,7 +47,7 @@
<schemaDirectory>src/main/resources/xsd</schemaDirectory>
<bindingDirectory>src/main/resources/xjb/codegen</bindingDirectory>
<schemaIncludes>
<include>jooq-codegen-3.7.0.xsd</include>
<include>jooq-codegen-3.8.0.xsd</include>
</schemaIncludes>
<generatePackage>org.jooq.util.jaxb</generatePackage>
<args>

View File

@ -11,7 +11,7 @@
<jaxb:globalBindings>
<!-- Force all classes implements Serializable -->
<xjc:serializable uid="370" />
<xjc:serializable uid="380" />
<!-- [#2401] Trim unnecessary whitespace from configuration -->
<xjc:javaType name="java.lang.String" xmlType="xs:string" adapter="org.jooq.util.jaxb.tools.TrimAdapter"/>
@ -19,7 +19,7 @@
<!-- Annotate the following classes with @SuppressWarnings -->
<jaxb:bindings schemaLocation="../../xsd/jooq-codegen-3.7.0.xsd" multiple="true" node="//xs:complexType">
<jaxb:bindings schemaLocation="../../xsd/jooq-codegen-3.8.0.xsd" multiple="true" node="//xs:complexType">
<annox:annotate>
<annox:annotate annox:class="java.lang.SuppressWarnings" value="all" />
</annox:annotate>

View File

@ -0,0 +1,806 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.jooq.org/xsd/jooq-codegen-3.8.0.xsd"
targetNamespace="http://www.jooq.org/xsd/jooq-codegen-3.8.0.xsd"
elementFormDefault="qualified">
<element name="configuration">
<complexType>
<all>
<!--
The JDBC configuration element contains information about how
to set up the database connection used for source code generation
-->
<element name="jdbc" type="tns:Jdbc" minOccurs="0" maxOccurs="1" />
<!--
The GENERATOR configuration element contains information about
source code generation itself
-->
<element name="generator" type="tns:Generator" minOccurs="1" maxOccurs="1" />
</all>
</complexType>
</element>
<complexType name="Jdbc">
<all>
<!-- The JDBC driver -->
<element name="driver" type="string" minOccurs="1" maxOccurs="1" />
<!-- The JDBC connection URL -->
<element name="url" type="string" minOccurs="1" maxOccurs="1" />
<!-- Deprecated. Use database schema configuration elements instead -->
<element name="schema" type="string" minOccurs="0" maxOccurs="1" />
<!--
The JDBC connection user. Be sure this user has all required
GRANTs to the dictionary views/tables to generate the desired artefacts
-->
<element name="user" type="string" minOccurs="0" maxOccurs="1" />
<!--
Just a synonym for "user" to be compatible with other Maven plugins
-->
<element name="username" type="string" minOccurs="0" maxOccurs="1" />
<!-- The JDBC connection password -->
<element name="password" type="string" minOccurs="0" maxOccurs="1" />
<!--
Enlist custom JDBC driver properties that are provided to the
java.sql.DriverManager when fetching a connection
-->
<element name="properties" type="tns:Properties" minOccurs="0" maxOccurs="1" />
</all>
</complexType>
<complexType name="Properties">
<sequence>
<element name="property" type="tns:Property" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="Property">
<all>
<element name="key" type="string" minOccurs="1" maxOccurs="1"/>
<element name="value" type="string" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="Generator">
<all>
<!--
The class used to generate source code. You may override this with
your custom source code generator
-->
<element name="name" type="string" default="org.jooq.util.DefaultGenerator"
minOccurs="0" maxOccurs="1" />
<!-- The naming strategy used for class and field names -->
<element name="strategy" type="tns:Strategy" minOccurs="0" maxOccurs="1" />
<!-- The jooq-meta configuration -->
<element name="database" type="tns:Database" minOccurs="1" maxOccurs="1" />
<!-- The jooq-codegen configuration -->
<element name="generate" type="tns:Generate" minOccurs="0" maxOccurs="1" />
<!-- Some information about generation output -->
<element name="target" type="tns:Target" minOccurs="0" maxOccurs="1" />
</all>
</complexType>
<complexType name="Strategy">
<choice>
<!--
The class used to provide a naming strategy for generated source
code. You may override this with your custom naming strategy
-->
<element name="name" type="string" minOccurs="0" maxOccurs="1"
default="org.jooq.util.DefaultGeneratorStrategy" />
<!--
The matcher strategy configuration used when applying an
XML-based strategy
-->
<element name="matchers" type="tns:Matchers" minOccurs="0" maxOccurs="1"/>
</choice>
</complexType>
<!--
Matchers can be used to provide a naming strategy by regular expression configuration.
-->
<complexType name="Matchers">
<sequence>
<!--
Specify 0..n schema matchers in order to provide a naming strategy for objects
created from schemas.
-->
<element name="schemas" type="tns:MatchersSchemasType" minOccurs="0" maxOccurs="1"/>
<!--
Specify 0..n table matchers in order to provide a naming strategy for objects
created from database tables.
-->
<element name="tables" type="tns:MatchersTablesType" minOccurs="0" maxOccurs="1"/>
<!--
Specify 0..n field matchers in order to provide a naming strategy for objects
created from table fields.
-->
<element name="fields" type="tns:MatchersFieldsType" minOccurs="0" maxOccurs="1"/>
<!--
Specify 0..n routine matchers in order to provide a naming strategy for objects
created from routines.
-->
<element name="routines" type="tns:MatchersRoutinesType" minOccurs="0" maxOccurs="1"/>
<!--
Specify 0..n sequence matchers in order to provide a naming strategy for objects
created from sequences.
-->
<element name="sequences" type="tns:MatchersSequencesType" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="MatchersSchemasType">
<sequence>
<element name="schema" type="tns:MatchersSchemaType" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="MatchersSchemaType">
<all>
<!--
This schema matcher applies to all unqualified or qualified schema names
matched by this expression. If left empty, this matcher applies to all schemas.
-->
<element name="expression" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated org.jooq.Schema object.
-->
<element name="schemaClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1" />
<element name="schemaIdentifier" type="tns:MatcherRule" minOccurs="0" maxOccurs="1" />
<element name="schemaImplements" type="string" minOccurs="0" maxOccurs="1" />
</all>
</complexType>
<complexType name="MatchersTablesType">
<sequence>
<element name="table" type="tns:MatchersTableType" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="MatchersTableType">
<all>
<!--
This table matcher applies to all unqualified or qualified table names
matched by this expression. If left empty, this matcher applies to all tables.
-->
<element name="expression" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated org.jooq.Table object.
-->
<element name="tableClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="tableIdentifier" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="tableImplements" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated org.jooq.Record object.
-->
<element name="recordClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="recordImplements" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated interface, implemented by
generated org.jooq.Record objects and by generated POJOs.
-->
<element name="interfaceClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="interfaceImplements" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated org.jooq.DAO object.
-->
<element name="daoClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="daoImplements" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated POJO object.
-->
<element name="pojoClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="pojoExtends" type="string" minOccurs="0" maxOccurs="1"/>
<element name="pojoImplements" type="string" minOccurs="0" maxOccurs="1"/>
</all>
</complexType>
<complexType name="MatchersFieldsType">
<sequence>
<element name="field" type="tns:MatchersFieldType" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="MatchersFieldType">
<all>
<!--
This field matcher applies to all unqualified or qualified field names
matched by this expression. If left empty, this matcher applies to all fields.
-->
<element name="expression" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated org.jooq.Field object.
-->
<element name="fieldIdentifier" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="fieldMember" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="fieldSetter" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
<element name="fieldGetter" type="tns:MatcherRule" minOccurs="0" maxOccurs="1"/>
</all>
</complexType>
<complexType name="MatchersRoutinesType">
<sequence>
<element name="routine" type="tns:MatchersRoutineType" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="MatchersRoutineType">
<all>
<!--
This routine matcher applies to all unqualified or qualified routine names
matched by this expression. If left empty, this matcher applies to all routines.
-->
<element name="expression" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of a generated org.jooq.Routine object.
-->
<element name="routineClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1" />
<element name="routineMethod" type="tns:MatcherRule" minOccurs="0" maxOccurs="1" />
<element name="routineImplements" type="string" minOccurs="0" maxOccurs="1"/>
</all>
</complexType>
<complexType name="MatchersSequencesType">
<sequence>
<element name="sequence" type="tns:MatchersSequenceType" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="MatchersSequenceType">
<all>
<!--
This sequence matcher applies to all unqualified or qualified sequence names
matched by this expression. If left empty, this matcher applies to all sequences.
-->
<element name="expression" type="string" minOccurs="0" maxOccurs="1"/>
<!--
These elements influence the naming of the generated Sequences class.
-->
<element name="sequenceIdentifier" type="tns:MatcherRule" minOccurs="0" maxOccurs="1" />
</all>
</complexType>
<complexType name="MatcherRule">
<all>
<element name="transform" type="tns:MatcherTransformType" minOccurs="0" maxOccurs="1"/>
<element name="expression" type="string" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<simpleType name="MatcherTransformType">
<restriction base="string">
<enumeration value="AS_IS"/>
<enumeration value="LOWER"/>
<enumeration value="UPPER"/>
<enumeration value="CAMEL"/>
<enumeration value="PASCAL"/>
</restriction>
</simpleType>
<complexType name="Database">
<all>
<!--
The database dialect from jooq-meta. Available dialects are
named org.util.[database].[database]Database.
Natively supported values are:
org.jooq.util.ase.ASEDatabase
org.jooq.util.cubrid.CUBRIDDatabase
org.jooq.util.db2.DB2Database
org.jooq.util.derby.DerbyDatabase
org.jooq.util.firebird.FirebirdDatabase
org.jooq.util.h2.H2Database
org.jooq.util.hsqldb.HSQLDBDatabase
org.jooq.util.informix.InformixDatabase
org.jooq.util.ingres.IngresDatabase
org.jooq.util.mariadb.MariaDBDatabase
org.jooq.util.mysql.MySQLDatabase
org.jooq.util.oracle.OracleDatabase
org.jooq.util.postgres.PostgresDatabase
org.jooq.util.sqlite.SQLiteDatabaes
org.jooq.util.sqlserver.SQLServerDatabase
org.jooq.util.sybase.SybaseDatabase
This value can be used to reverse-engineer generic JDBC DatabaseMetaData (e.g. for MS Access)
org.jooq.util.jdbc.JDBCDatabase
This value can be used to reverse-engineer standard jOOQ-meta XML formats
org.jooq.util.xml.XMLDatabase
You can also provide your own org.jooq.util.Database implementation
here, if your database is currently not supported
-->
<element name="name" type="string" minOccurs="1" maxOccurs="1" />
<!--
The properties that will be passed to the Database instance as configured above.
Known supported properties include:
org.jooq.util.xml.XMLDatabase
dialect=ORACLE
xml-file=C:\path\to\database.xml
xsl-files=C:\path\to\1.xsl,C:\path\to\2.xsl
-->
<element name="properties" type="tns:Properties" minOccurs="0" maxOccurs="1" />
<!--
The flags that will be applied to all regular expressions from this configuration by default.
The default value is "COMMENTS CASE_INSENSITIVE"
-->
<element name="regexFlags" type="tns:RegexFlags" minOccurs="0" maxOccurs="1" default="COMMENTS CASE_INSENSITIVE"/>
<!--
All elements that are generated from your schema (A Java regular expression.
Use the pipe to separate several expressions) Watch out for
case-sensitivity. Depending on your database, this might be
important!
You can create case-insensitive regular expressions
using this syntax: (?i:expr)
Whitespace is ignored and comments are possible.
-->
<element name="includes" type="string" default=".*" minOccurs="0" maxOccurs="1" />
<!--
All elements that are excluded from your schema (A Java regular expression.
Use the pipe to separate several expressions). Excludes match before
includes
-->
<element name="excludes" type="string" default="" minOccurs="0" maxOccurs="1" />
<!--
This flag indicates whether include / exclude patterns should also match
columns within tables.
-->
<element name="includeExcludeColumns" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
All table and view columns that are used as "version" fields for
optimistic locking (A Java regular expression. Use the pipe to separate several expressions).
See UpdatableRecord.store() and UpdatableRecord.delete() for details
-->
<element name="recordVersionFields" type="string" default="" minOccurs="0" maxOccurs="1" />
<!--
All table and view columns that are used as "timestamp" fields for
optimistic locking (A Java regular expression. Use the pipe to separate several expressions).
See UpdatableRecord.store() and UpdatableRecord.delete() for details
-->
<element name="recordTimestampFields" type="string" default="" minOccurs="0" maxOccurs="1" />
<!--
A regular expression matching all columns that participate in "synthetic" primary keys,
which should be placed on generated UpdatableRecords, to be used with
- UpdatableRecord.store()
- UpdatableRecord.update()
- UpdatableRecord.delete()
- UpdatableRecord.refresh()
Synthetic primary keys will override existing primary keys.
-->
<element name="syntheticPrimaryKeys" type="string" default="" minOccurs="0" maxOccurs="1" />
<!--
All (UNIQUE) key names that should be used instead of primary keys on
generated UpdatableRecords, to be used with
- UpdatableRecord.store()
- UpdatableRecord.update()
- UpdatableRecord.delete()
- UpdatableRecord.refresh()
If several keys match, a warning is emitted and the first one encountered will be used.
This flag will also replace synthetic primary keys, if it matches.
-->
<element name="overridePrimaryKeys" type="string" default="" minOccurs="0" maxOccurs="1" />
<!--
Generate java.sql.Timestamp fields for DATE columns. This is
particularly useful for Oracle databases
-->
<element name="dateAsTimestamp" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
In jOOQ 3.6.0, #4106 was implemented to support Transact-SQL's
optional return values from stored procedures. This turns all procedures
into Routine<Integer> (instead of Routine<Void>). For backwards-
compatibility reasons, users can suppress this change in jOOQ 3.x
This feature is deprecated as of jOOQ 3.6.0 and will be removed again in
jOOQ 4.0.
-->
<element name="ignoreProcedureReturnValues" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Generate jOOU data types for your unsigned data types, which are
not natively supported in Java
-->
<element name="unsignedTypes" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
The schema that is used locally as a source for meta information.
This could be your development schema or the production schema, etc
This cannot be combined with the schemata element.
If left empty (and without any schemata element), jOOQ will generate all available schemata.
For backwards compatibility, this defaults to jdbc/schema
-->
<element name="inputSchema" type="string" default="" minOccurs="0" maxOccurs="1" />
<!--
A custom version number that, if available, will be used to assess whether the above
<inputSchema/> will need to be regenerated.
There are three operation modes for this element:
- The value is a class that can be found on the classpath and that implements
org.jooq.util.SchemaVersionProvider. Such classes must provide a default constructor
- The value is a SELECT statement that returns one record with one column. The
SELECT statement may contain a named variable called :schema_name
- The value is a constant, such as a Maven property
Schema versions will be generated into the javax.annotation.Generated annotation on
generated artefacts.
-->
<element name="schemaVersionProvider" type="string" default="" minOccurs="0" maxOccurs="1"/>
<!--
The schema that is used in generated source code. This will be the
production schema. Use this to override your local development
schema name for source code generation. If not specified, this
will be the same as the input-schema.
This will be ignored if outputSchemaToDefault is set to true
-->
<element name="outputSchema" type="string" minOccurs="0" maxOccurs="1" />
<!--
A flag to indicate that the outputSchema should be the "default" schema,
which generates schema-less, unqualified tables, procedures, etc.
-->
<element name="outputSchemaToDefault" type="boolean" minOccurs="0" maxOccurs="1" default="false" />
<!--
A configuration element to configure several input and/or output
schemata for jooq-meta, in case you're using jooq-meta in a multi-
schema environment
-->
<element name="schemata" type="tns:Schemata" minOccurs="0" maxOccurs="1"/>
<!--
A configuration element to configure custom types introduced to jOOQ
using converters
-->
<element name="customTypes" type="tns:CustomTypes" minOccurs="0" maxOccurs="1"/>
<!--
A configuration element to configure synthetic enum types
This is EXPERIMENTAL / DEPRECATED functionality. Do not re-use
-->
<element name="enumTypes" type="tns:EnumTypes" minOccurs="0" maxOccurs="1"/>
<!--
A configuration element to configure type overrides for generated
artefacts (e.g. in combination with enumTypes)
-->
<element name="forcedTypes" type="tns:ForcedTypes" minOccurs="0" maxOccurs="1"/>
</all>
</complexType>
<complexType name="Schemata">
<sequence>
<!--
A configuration element for a single schema in multi-schema
environments
-->
<element name="schema" type="tns:Schema" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="Schema">
<all>
<!-- See also database/inputSchema -->
<element name="inputSchema" type="string" default="" minOccurs="1" maxOccurs="1" />
<!-- See also database/outputSchema -->
<element name="outputSchema" type="string" minOccurs="0" maxOccurs="1" />
<!-- See also database/outputSchemaDefault -->
<element name="outputSchemaToDefault" type="boolean" minOccurs="0" maxOccurs="1" default="false" />
</all>
</complexType>
<complexType name="CustomTypes">
<sequence>
<!-- A configuration element for a custom type -->
<element name="customType" type="tns:CustomType" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
<complexType name="EnumTypes">
<sequence>
<!-- A configuration element for a synthetic enum type -->
<element name="enumType" type="tns:EnumType" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
<complexType name="ForcedTypes">
<sequence>
<!-- A configuration element for a forced type override -->
<element name="forcedType" type="tns:ForcedType" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
<complexType name="CustomType">
<all>
<!-- The name of the custom type -->
<element name="name" type="string" minOccurs="1" maxOccurs="1" />
<!-- The type of the custom type - e.g. java.time.LocalDateTime.
For backwards-compatibility reasons, this information is optional. If left undefined,
the "type" value will default to the "name" value. -->
<element name="type" type="string" minOccurs="0" maxOccurs="1" />
<!-- A converter implementation for the custom type -->
<element name="converter" type="string" minOccurs="0" maxOccurs="1" />
<!-- A binding implementation for the custom type -->
<element name="binding" type="string" minOccurs="0" maxOccurs="1" />
</all>
</complexType>
<complexType name="EnumType">
<all>
<!-- The name of the synthetic enum type -->
<element name="name" type="string" minOccurs="1" maxOccurs="1" />
<!-- A comma separated (CSV format) list of enum literals -->
<element name="literals" type="string" minOccurs="1" maxOccurs="1" />
</all>
</complexType>
<complexType name="ForcedType">
<all>
<!-- The name of the type to be forced upon various artefacts -->
<element name="name" type="string" minOccurs="1" maxOccurs="1" />
<!--
A Java regular expression matching columns, parameters, attributes,
etc to be forced to have this type. If provided, both "expressions" and
"types" must match.
-->
<element name="expression" type="string" minOccurs="0" maxOccurs="1" />
<!--
The same as expression. This is kept for backwards compatibility reasons.
-->
<element name="expressions" type="string" minOccurs="0" maxOccurs="1" />
<!--
A Java regular expression matching data types to be forced to have this
type. If provided, both "expressions" and "types" must match.
-->
<element name="types" type="string" minOccurs="0" maxOccurs="1" />
</all>
</complexType>
<complexType name="Generate">
<all>
<!--
Primary key / foreign key relations should be generated and used.
This is a prerequisite for various advanced features
-->
<element name="relations" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!-- Generate deprecated code for backwards compatibility -->
<element name="deprecated" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Do not reuse this property. It is deprecated as of jOOQ 3.3.0
-->
<element name="instanceFields" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Generate the javax.annotation.Generated annotation to indicate
jOOQ version used for source code
-->
<element name="generatedAnnotation" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Generate TableRecord classes. Disable this when you don't
need the additional type-safety
-->
<element name="records" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Generate POJOs for usage of the ResultQuery.fetchInto(Class) API
-->
<element name="pojos" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Generate basic equals() and hashCode() methods in POJOs
-->
<element name="pojosEqualsAndHashCode" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Generate basic toString() methods in POJOs
-->
<element name="pojosToString" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Generate immutable POJOs for usage of the ResultQuery.fetchInto(Class) API
This overrides any value set in <pojos/>
-->
<element name="immutablePojos" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Generate interfaces that will be implemented by records and/or pojos.
You can also use these interfaces in Record.into(Class<?>) and similar
methods, to let jOOQ return proxy objects for them.
-->
<element name="interfaces" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Generate DAOs in addition to POJO classes
-->
<element name="daos" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Annotate POJOs and Records with JPA annotations for increased
compatibility and better integration with JPA/Hibernate, etc
-->
<element name="jpaAnnotations" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Annotate POJOs and Records with JSR-303 validation annotations
-->
<element name="validationAnnotations" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Annotate DAOs with useful spring annotations such as @Repository or @Autowired
-->
<element name="springAnnotations" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of ALL global object references, which include
- Tables.java
- Sequences.java
- UDTs.java
- Routines.java
Turning off the generation of the above files may be necessary for very
large schemas, which exceed the amount of allowed constants in a class's
constant pool (64k) or, whose static initialiser would exceed 64k of
byte code.
Setting this flag to false will force all other global reference flags to be false:
- <globalTableReferences/>
- <globalSequenceReferences/>
- <globalUDTReferences/>
- <globalRoutineReferences/>
-->
<element name="globalObjectReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of global table references in Tables.java
-->
<element name="globalTableReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of global table references in Sequences.java
-->
<element name="globalSequenceReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of global table references in UDTs.java
-->
<element name="globalUDTReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Allow to turn off the generation of global table references in Routines.java
-->
<element name="globalRoutineReferences" type="boolean" default="true" minOccurs="0" maxOccurs="1" />
<!--
Generate fluent setters in
- records
- pojos
- interfaces
Fluent setters are against the JavaBeans specification, but can be quite
useful to those users who do not depend on EL, JSP, JSF, etc.
-->
<element name="fluentSetters" type="boolean" default="false" minOccurs="0" maxOccurs="1" />
<!--
A regular expression matching all the types in generated code that should
be fully qualified.
This can be useful if you have a database object that generates a String
class, and you want to avoid naming clashes with the java.lang package
by specifying <fullyQualifiedTypes>java\.lang\..*</fullyQualifiedTypes>
-->
<element name="fullyQualifiedTypes" type="string" default="" minOccurs="0" maxOccurs="1" />
</all>
</complexType>
<complexType name="Target">
<all>
<!--
The destination package of your generated classes (within the
destination directory)
jOOQ may append the schema name to this package if generating multiple schemas,
e.g. org.jooq.generated.schema1
org.jooq.generated.schema2
-->
<element name="packageName" type="string" default="org.jooq.generated" minOccurs="0" maxOccurs="1" />
<!-- The destination directory of your generated classes -->
<element name="directory" type="string" default="target/generated-sources/jooq" />
</all>
</complexType>
<simpleType name="RegexFlags">
<list itemType="tns:RegexFlag"/>
</simpleType>
<simpleType name="RegexFlag">
<restriction base="string">
<enumeration value="UNIX_LINES"/>
<enumeration value="CASE_INSENSITIVE"/>
<enumeration value="COMMENTS"/>
<enumeration value="MULTILINE"/>
<enumeration value="LITERAL"/>
<enumeration value="DOTALL"/>
<enumeration value="UNICODE_CASE"/>
<enumeration value="CANON_EQ"/>
<enumeration value="UNICODE_CHARACTER_CLASS"/>
</restriction>
</simpleType>
</schema>

View File

@ -101,7 +101,7 @@ public final class Constants {
/**
* The current jooq-codegen XSD file name.
*/
public static final String XSD_CODEGEN = "jooq-codegen-3.7.0.xsd";
public static final String XSD_CODEGEN = "jooq-codegen-3.8.0.xsd";
/**
* The current jooq-codegen XML namespace.