All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jooq.util.jaxb.Database Maven / Gradle / Ivy

There is a newer version: 3.19.16
Show newest version








package org.jooq.util.jaxb;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlList;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.jooq.util.jaxb.tools.StringAdapter;


/**
 * Configuration of the database meta data source.
 *
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Database", propOrder = {

})
@SuppressWarnings({
    "all"
})
public class Database implements Serializable
{

    private final static long serialVersionUID = 31000L;
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String name;
    @XmlList
    @XmlElement(defaultValue = "COMMENTS CASE_INSENSITIVE")
    @XmlSchemaType(name = "anySimpleType")
    protected List regexFlags;
    @XmlElement(defaultValue = ".*")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String includes = ".*";
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String excludes = "";
    @XmlElement(defaultValue = "false")
    protected Boolean includeExcludeColumns = false;
    @XmlElement(defaultValue = "true")
    protected Boolean includeTables = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includeRoutines = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includePackages = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includeUDTs = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includeSequences = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includeIndexes = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includePrimaryKeys = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includeUniqueKeys = true;
    @XmlElement(defaultValue = "true")
    protected Boolean includeForeignKeys = true;
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String recordVersionFields = "";
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String recordTimestampFields = "";
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String syntheticIdentities = "";
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String syntheticPrimaryKeys = "";
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String overridePrimaryKeys = "";
    @XmlElement(defaultValue = "false")
    protected Boolean dateAsTimestamp = false;
    @XmlElement(defaultValue = "false")
    protected Boolean ignoreProcedureReturnValues = false;
    @XmlElement(defaultValue = "true")
    protected Boolean unsignedTypes = true;
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String inputCatalog = "";
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String outputCatalog;
    @XmlElement(defaultValue = "false")
    protected Boolean outputCatalogToDefault = false;
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String inputSchema = "";
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String outputSchema;
    @XmlElement(defaultValue = "false")
    protected Boolean outputSchemaToDefault = false;
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String schemaVersionProvider = "";
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String catalogVersionProvider = "";
    @XmlElement(defaultValue = "")
    @XmlJavaTypeAdapter(StringAdapter.class)
    protected String orderProvider = "";
    protected Boolean tableValuedFunctions;
    @XmlElementWrapper(name = "properties")
    @XmlElement(name = "property")
    protected List properties;
    @XmlElementWrapper(name = "catalogs")
    @XmlElement(name = "catalog")
    protected List catalogs;
    @XmlElementWrapper(name = "schemata")
    @XmlElement(name = "schema")
    protected List schemata;
    @XmlElementWrapper(name = "customTypes")
    @XmlElement(name = "customType")
    protected List customTypes;
    @XmlElementWrapper(name = "enumTypes")
    @XmlElement(name = "enumType")
    protected List enumTypes;
    @XmlElementWrapper(name = "forcedTypes")
    @XmlElement(name = "forcedType")
    protected List forcedTypes;

    /**
     * The database dialect from jooq-meta.
     * Available dialects are named org.util.[database].[database]Database.
     * 

* Natively supported values are: *

    *
  • {@link org.jooq.util.ase.ASEDatabase}
  • *
  • {@link org.jooq.util.cubrid.CUBRIDDatabase}
  • *
  • {@link org.jooq.util.db2.DB2Database}
  • *
  • {@link org.jooq.util.derby.DerbyDatabase}
  • *
  • {@link org.jooq.util.firebird.FirebirdDatabase}
  • *
  • {@link org.jooq.util.h2.H2Database}
  • *
  • {@link org.jooq.util.hana.HanaDatabase}
  • *
  • {@link org.jooq.util.hsqldb.HSQLDBDatabase}
  • *
  • {@link org.jooq.util.informix.InformixDatabase}
  • *
  • {@link org.jooq.util.ingres.IngresDatabase}
  • *
  • {@link org.jooq.util.mariadb.MariaDBDatabase}
  • *
  • {@link org.jooq.util.mysql.MySQLDatabase}
  • *
  • {@link org.jooq.util.oracle.OracleDatabase}
  • *
  • {@link org.jooq.util.postgres.PostgresDatabase}
  • *
  • {@link org.jooq.util.redshift.RedshiftDatabase}
  • *
  • {@link org.jooq.util.sqlite.SQLiteDatabase}
  • *
  • {@link org.jooq.util.sqlserver.SQLServerDatabase}
  • *
  • {@link org.jooq.util.sybase.SybaseDatabase}
  • *
  • {@link org.jooq.util.vertica.VerticaDatabase}
  • *
*

* This value can be used to reverse-engineer generic JDBC DatabaseMetaData (e.g. for MS Access). *

    *
  • {@link org.jooq.util.jdbc.JDBCDatabase}
  • *
*

* This value can be used to reverse-engineer standard jOOQ-meta XML formats. *

    *
  • {@link org.jooq.util.xml.XMLDatabase}
  • *
*

* This value can be used to reverse-engineer JPA annotated entities *

    *
  • {@link org.jooq.util.jpa.JPADatabase}
  • *
*

* You can also provide your own org.jooq.util.Database implementation * here, if your database is currently not supported * * @return * possible object is * {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value * allowed object is * {@link String } * */ public void setName(String value) { this.name = value; } /** * The flags that will be applied to all regular expressions from this configuration by default. *

* The default value is "COMMENTS CASE_INSENSITIVE"Gets the value of the regexFlags property. * *

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the regexFlags property. * *

* For example, to add a new item, do as follows: *

     *    getRegexFlags().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link RegexFlag } * * */ public List getRegexFlags() { if (regexFlags == null) { regexFlags = new ArrayList(); } return this.regexFlags; } /** * All elements that are generated from your schema. *

* This is 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 unless overridden in {@link #getRegexFlags()}. * * @return * possible object is * {@link String } * */ public String getIncludes() { return includes; } /** * Sets the value of the includes property. * * @param value * allowed object is * {@link String } * */ public void setIncludes(String value) { this.includes = value; } /** * All elements that are excluded from your schema. *

* This is a Java regular expression. Use the pipe to separate several expressions. * Excludes match before includes, i.e. excludes have a higher priority. * * @return * possible object is * {@link String } * */ public String getExcludes() { return excludes; } /** * Sets the value of the excludes property. * * @param value * allowed object is * {@link String } * */ public void setExcludes(String value) { this.excludes = value; } /** * This flag indicates whether include / exclude patterns should also match columns within tables. * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeExcludeColumns() { return includeExcludeColumns; } /** * Sets the value of the includeExcludeColumns property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeExcludeColumns(Boolean value) { this.includeExcludeColumns = value; } /** * This flag indicates whether tables should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeTables() { return includeTables; } /** * Sets the value of the includeTables property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeTables(Boolean value) { this.includeTables = value; } /** * This flag indicates whether routines should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeRoutines() { return includeRoutines; } /** * Sets the value of the includeRoutines property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeRoutines(Boolean value) { this.includeRoutines = value; } /** * This flag indicates whether packages should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludePackages() { return includePackages; } /** * Sets the value of the includePackages property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludePackages(Boolean value) { this.includePackages = value; } /** * This flag indicates whether udts should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeUDTs() { return includeUDTs; } /** * Sets the value of the includeUDTs property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeUDTs(Boolean value) { this.includeUDTs = value; } /** * This flag indicates whether sequences should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeSequences() { return includeSequences; } /** * Sets the value of the includeSequences property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeSequences(Boolean value) { this.includeSequences = value; } /** * This flag indicates whether indexes should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeIndexes() { return includeIndexes; } /** * Sets the value of the includeIndexes property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeIndexes(Boolean value) { this.includeIndexes = value; } /** * This flag indicates whether primary keys should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludePrimaryKeys() { return includePrimaryKeys; } /** * Sets the value of the includePrimaryKeys property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludePrimaryKeys(Boolean value) { this.includePrimaryKeys = value; } /** * This flag indicates whether unique keys should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeUniqueKeys() { return includeUniqueKeys; } /** * Sets the value of the includeUniqueKeys property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeUniqueKeys(Boolean value) { this.includeUniqueKeys = value; } /** * This flag indicates whether foreign keys should be included in output produced by this database * * @return * possible object is * {@link Boolean } * */ public Boolean isIncludeForeignKeys() { return includeForeignKeys; } /** * Sets the value of the includeForeignKeys property. * * @param value * allowed object is * {@link Boolean } * */ public void setIncludeForeignKeys(Boolean value) { this.includeForeignKeys = value; } /** * All table and view columns that are used as "version" fields for optimistic locking. *

* This is a Java regular expression. Use the pipe to separate several expressions. * See {@link org.jooq.UpdatableRecord.store()} and {@link org.jooq.UpdatableRecord.delete()} for details about optimistic locking. * * @return * possible object is * {@link String } * */ public String getRecordVersionFields() { return recordVersionFields; } /** * Sets the value of the recordVersionFields property. * * @param value * allowed object is * {@link String } * */ public void setRecordVersionFields(String value) { this.recordVersionFields = value; } /** * All table and view columns that are used as "timestamp" fields for optimistic locking. *

* This is a Java regular expression. Use the pipe to separate several expressions. * See {@link org.jooq.UpdatableRecord.store()} and {@link org.jooq.UpdatableRecord.delete()} for details about optimistic locking. * * @return * possible object is * {@link String } * */ public String getRecordTimestampFields() { return recordTimestampFields; } /** * Sets the value of the recordTimestampFields property. * * @param value * allowed object is * {@link String } * */ public void setRecordTimestampFields(String value) { this.recordTimestampFields = value; } /** * A regular expression matching all columns that represent identities. *

* To be used if columns are not detected as automatically as identities. * * @return * possible object is * {@link String } * */ public String getSyntheticIdentities() { return syntheticIdentities; } /** * Sets the value of the syntheticIdentities property. * * @param value * allowed object is * {@link String } * */ public void setSyntheticIdentities(String value) { this.syntheticIdentities = value; } /** * A regular expression matching all columns that participate in "synthetic" primary keys, * which should be placed on generated {@link org.jooq.UpdatableRecord} *

* To be used with: *

    *
  • {@link org.jooq.UpdatableRecord.store()}
  • *
  • {@link org.jooq.UpdatableRecord.update()}
  • *
  • {@link org.jooq.UpdatableRecord.delete()}
  • *
  • {@link org.jooq.UpdatableRecord.refresh()}
  • *
*

* Synthetic primary keys will override existing primary keys. * * @return * possible object is * {@link String } * */ public String getSyntheticPrimaryKeys() { return syntheticPrimaryKeys; } /** * Sets the value of the syntheticPrimaryKeys property. * * @param value * allowed object is * {@link String } * */ public void setSyntheticPrimaryKeys(String value) { this.syntheticPrimaryKeys = value; } /** * All (UNIQUE) key names that should be used instead of primary keys on * generated {@link org.jooq.UpdatableRecord}. *

* To be used with: *

    *
  • {@link org.jooq.UpdatableRecord.store()}
  • *
  • {@link org.jooq.UpdatableRecord.update()}
  • *
  • {@link org.jooq.UpdatableRecord.delete()}
  • *
  • {@link org.jooq.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. * * @return * possible object is * {@link String } * */ public String getOverridePrimaryKeys() { return overridePrimaryKeys; } /** * Sets the value of the overridePrimaryKeys property. * * @param value * allowed object is * {@link String } * */ public void setOverridePrimaryKeys(String value) { this.overridePrimaryKeys = value; } /** * Generate {@link java.sql.Timestamp} fields for DATE columns. This is particularly useful for Oracle databases * * @return * possible object is * {@link Boolean } * */ public Boolean isDateAsTimestamp() { return dateAsTimestamp; } /** * Sets the value of the dateAsTimestamp property. * * @param value * allowed object is * {@link Boolean } * */ public void setDateAsTimestamp(Boolean value) { this.dateAsTimestamp = value; } /** * Ignore procedure return values in Transact-SQL generated code. *

* 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 (instead of Routine). For backwards- * compatibility reasons, users can suppress this change in jOOQ 3.x *

* @deprecated This feature is deprecated as of jOOQ 3.6.0 and will be removed again in * jOOQ 4.0. * * @return * possible object is * {@link Boolean } * */ public Boolean isIgnoreProcedureReturnValues() { return ignoreProcedureReturnValues; } /** * Sets the value of the ignoreProcedureReturnValues property. * * @param value * allowed object is * {@link Boolean } * */ public void setIgnoreProcedureReturnValues(Boolean value) { this.ignoreProcedureReturnValues = value; } /** * Generate jOOU data types for your unsigned data types, which are not natively supported in Java * * @return * possible object is * {@link Boolean } * */ public Boolean isUnsignedTypes() { return unsignedTypes; } /** * Sets the value of the unsignedTypes property. * * @param value * allowed object is * {@link Boolean } * */ public void setUnsignedTypes(Boolean value) { this.unsignedTypes = value; } /** * The catalog that is used locally as a source for meta information. *

* This cannot be combined with the {@link #getCatalogs()} configuration element. * If left empty (and without any {@link #getCatalogs()} configuration element), jOOQ will generate all available catalogs. * * @return * possible object is * {@link String } * */ public String getInputCatalog() { return inputCatalog; } /** * Sets the value of the inputCatalog property. * * @param value * allowed object is * {@link String } * */ public void setInputCatalog(String value) { this.inputCatalog = value; } /** * The catalog that is used in generated source code. *

* Use this to override your local development * catalog name for source code generation. If not specified, this * will be the same as {@link #getInputCatalog()} *

* This will be ignored if {@link #isOutputCatalogToDefault()} is set to true * * @return * possible object is * {@link String } * */ public String getOutputCatalog() { return outputCatalog; } /** * Sets the value of the outputCatalog property. * * @param value * allowed object is * {@link String } * */ public void setOutputCatalog(String value) { this.outputCatalog = value; } /** * A flag to indicate that the outputCatalog should be the "default" catalog, * which generates catalog-less, unqualified tables, procedures, etc. * * @return * possible object is * {@link Boolean } * */ public Boolean isOutputCatalogToDefault() { return outputCatalogToDefault; } /** * Sets the value of the outputCatalogToDefault property. * * @param value * allowed object is * {@link Boolean } * */ public void setOutputCatalogToDefault(Boolean value) { this.outputCatalogToDefault = value; } /** * The schema that is used locally as a source for meta information. *

* This cannot be combined with the {@link #getSchemata()} configuration element. * If left empty (and without any {@link #getSchemata()} configuration element), jOOQ will generate all available schemata. * * @return * possible object is * {@link String } * */ public String getInputSchema() { return inputSchema; } /** * Sets the value of the inputSchema property. * * @param value * allowed object is * {@link String } * */ public void setInputSchema(String value) { this.inputSchema = value; } /** * The schema that is used in generated source code. *

* Use this to override your local development * schema name for source code generation. If not specified, this * will be the same as {@link #getInputSchema()}. * * This will be ignored if {@link #isOutputSchemaToDefault()} is set to true * * @return * possible object is * {@link String } * */ public String getOutputSchema() { return outputSchema; } /** * Sets the value of the outputSchema property. * * @param value * allowed object is * {@link String } * */ public void setOutputSchema(String value) { this.outputSchema = value; } /** * A flag to indicate that the outputSchema should be the "default" schema, * which generates schema-less, unqualified tables, procedures, etc. * * @return * possible object is * {@link Boolean } * */ public Boolean isOutputSchemaToDefault() { return outputSchemaToDefault; } /** * Sets the value of the outputSchemaToDefault property. * * @param value * allowed object is * {@link Boolean } * */ public void setOutputSchemaToDefault(Boolean value) { this.outputSchemaToDefault = value; } /** * A custom version number that, if available, will be used to assess whether the * {@link #getInputSchema()} 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 * {@link 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 {@link javax.annotation.Generated} annotation on * generated artefacts. * * @return * possible object is * {@link String } * */ public String getSchemaVersionProvider() { return schemaVersionProvider; } /** * Sets the value of the schemaVersionProvider property. * * @param value * allowed object is * {@link String } * */ public void setSchemaVersionProvider(String value) { this.schemaVersionProvider = value; } /** * A custom version number that, if available, will be used to assess whether the * {@link #getInputCatalog()} from a given catalog 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 * {@link org.jooq.util.CatalogVersionProvider}. 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 :catalog_name
  • *
  • The value is a constant, such as a Maven property
  • *

    * Catalog versions will be generated into the {@link javax.annotation.Generated} annotation on * generated artefacts. * * @return * possible object is * {@link String } * */ public String getCatalogVersionProvider() { return catalogVersionProvider; } /** * Sets the value of the catalogVersionProvider property. * * @param value * allowed object is * {@link String } * */ public void setCatalogVersionProvider(String value) { this.catalogVersionProvider = value; } /** * A custom {@link java.util.Comparator} that can compare two {@link org.jooq.util.Definition} objects to determine their order. *

    * This comparator can be used to influence the order of any object that is produced by jOOQ meta, and thus, indirectly, the order of declared objects in generated code. * * @return * possible object is * {@link String } * */ public String getOrderProvider() { return orderProvider; } /** * Sets the value of the orderProvider property. * * @param value * allowed object is * {@link String } * */ public void setOrderProvider(String value) { this.orderProvider = value; } /** * Whether table valued functions should be reported as tables. *

    * If this is deactivated, such functions are not generated as tables, but * as ordinary routines. This is particularly useful for backwards- * compatibility between jOOQ 3.8 and previous versions, when using TABLE * and VARRAY types in Oracle. *

    * While this flag defaults to true for most databases, it defaults to false * for Oracle. * * @return * possible object is * {@link Boolean } * */ public Boolean isTableValuedFunctions() { return tableValuedFunctions; } /** * Sets the value of the tableValuedFunctions property. * * @param value * allowed object is * {@link Boolean } * */ public void setTableValuedFunctions(Boolean value) { this.tableValuedFunctions = value; } public List getProperties() { if (properties == null) { properties = new ArrayList(); } return properties; } public void setProperties(List properties) { this.properties = properties; } public List getCatalogs() { if (catalogs == null) { catalogs = new ArrayList(); } return catalogs; } public void setCatalogs(List catalogs) { this.catalogs = catalogs; } public List getSchemata() { if (schemata == null) { schemata = new ArrayList(); } return schemata; } public void setSchemata(List schemata) { this.schemata = schemata; } public List getCustomTypes() { if (customTypes == null) { customTypes = new ArrayList(); } return customTypes; } public void setCustomTypes(List customTypes) { this.customTypes = customTypes; } public List getEnumTypes() { if (enumTypes == null) { enumTypes = new ArrayList(); } return enumTypes; } public void setEnumTypes(List enumTypes) { this.enumTypes = enumTypes; } public List getForcedTypes() { if (forcedTypes == null) { forcedTypes = new ArrayList(); } return forcedTypes; } public void setForcedTypes(List forcedTypes) { this.forcedTypes = forcedTypes; } public Database withName(String value) { setName(value); return this; } public Database withRegexFlags(RegexFlag... values) { if (values!= null) { for (RegexFlag value: values) { getRegexFlags().add(value); } } return this; } public Database withRegexFlags(Collection values) { if (values!= null) { getRegexFlags().addAll(values); } return this; } public Database withIncludes(String value) { setIncludes(value); return this; } public Database withExcludes(String value) { setExcludes(value); return this; } public Database withIncludeExcludeColumns(Boolean value) { setIncludeExcludeColumns(value); return this; } public Database withIncludeTables(Boolean value) { setIncludeTables(value); return this; } public Database withIncludeRoutines(Boolean value) { setIncludeRoutines(value); return this; } public Database withIncludePackages(Boolean value) { setIncludePackages(value); return this; } public Database withIncludeUDTs(Boolean value) { setIncludeUDTs(value); return this; } public Database withIncludeSequences(Boolean value) { setIncludeSequences(value); return this; } public Database withIncludeIndexes(Boolean value) { setIncludeIndexes(value); return this; } public Database withIncludePrimaryKeys(Boolean value) { setIncludePrimaryKeys(value); return this; } public Database withIncludeUniqueKeys(Boolean value) { setIncludeUniqueKeys(value); return this; } public Database withIncludeForeignKeys(Boolean value) { setIncludeForeignKeys(value); return this; } public Database withRecordVersionFields(String value) { setRecordVersionFields(value); return this; } public Database withRecordTimestampFields(String value) { setRecordTimestampFields(value); return this; } public Database withSyntheticIdentities(String value) { setSyntheticIdentities(value); return this; } public Database withSyntheticPrimaryKeys(String value) { setSyntheticPrimaryKeys(value); return this; } public Database withOverridePrimaryKeys(String value) { setOverridePrimaryKeys(value); return this; } public Database withDateAsTimestamp(Boolean value) { setDateAsTimestamp(value); return this; } public Database withIgnoreProcedureReturnValues(Boolean value) { setIgnoreProcedureReturnValues(value); return this; } public Database withUnsignedTypes(Boolean value) { setUnsignedTypes(value); return this; } public Database withInputCatalog(String value) { setInputCatalog(value); return this; } public Database withOutputCatalog(String value) { setOutputCatalog(value); return this; } public Database withOutputCatalogToDefault(Boolean value) { setOutputCatalogToDefault(value); return this; } public Database withInputSchema(String value) { setInputSchema(value); return this; } public Database withOutputSchema(String value) { setOutputSchema(value); return this; } public Database withOutputSchemaToDefault(Boolean value) { setOutputSchemaToDefault(value); return this; } public Database withSchemaVersionProvider(String value) { setSchemaVersionProvider(value); return this; } public Database withCatalogVersionProvider(String value) { setCatalogVersionProvider(value); return this; } public Database withOrderProvider(String value) { setOrderProvider(value); return this; } public Database withTableValuedFunctions(Boolean value) { setTableValuedFunctions(value); return this; } public Database withProperties(Property... values) { if (values!= null) { for (Property value: values) { getProperties().add(value); } } return this; } public Database withProperties(Collection values) { if (values!= null) { getProperties().addAll(values); } return this; } public Database withProperties(List properties) { setProperties(properties); return this; } public Database withCatalogs(Catalog... values) { if (values!= null) { for (Catalog value: values) { getCatalogs().add(value); } } return this; } public Database withCatalogs(Collection values) { if (values!= null) { getCatalogs().addAll(values); } return this; } public Database withCatalogs(List catalogs) { setCatalogs(catalogs); return this; } public Database withSchemata(Schema... values) { if (values!= null) { for (Schema value: values) { getSchemata().add(value); } } return this; } public Database withSchemata(Collection values) { if (values!= null) { getSchemata().addAll(values); } return this; } public Database withSchemata(List schemata) { setSchemata(schemata); return this; } public Database withCustomTypes(CustomType... values) { if (values!= null) { for (CustomType value: values) { getCustomTypes().add(value); } } return this; } public Database withCustomTypes(Collection values) { if (values!= null) { getCustomTypes().addAll(values); } return this; } public Database withCustomTypes(List customTypes) { setCustomTypes(customTypes); return this; } public Database withEnumTypes(EnumType... values) { if (values!= null) { for (EnumType value: values) { getEnumTypes().add(value); } } return this; } public Database withEnumTypes(Collection values) { if (values!= null) { getEnumTypes().addAll(values); } return this; } public Database withEnumTypes(List enumTypes) { setEnumTypes(enumTypes); return this; } public Database withForcedTypes(ForcedType... values) { if (values!= null) { for (ForcedType value: values) { getForcedTypes().add(value); } } return this; } public Database withForcedTypes(Collection values) { if (values!= null) { getForcedTypes().addAll(values); } return this; } public Database withForcedTypes(List forcedTypes) { setForcedTypes(forcedTypes); return this; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy