blob: e93ade373ebf83891960c5949c2adde1c6bf9cdb [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.models.jpa.datatypes;
import org.eclipse.persistence.tools.schemaframework.TableDefinition;
import org.eclipse.persistence.tools.schemaframework.FieldDefinition;
public class DataTypesTableCreator extends org.eclipse.persistence.tools.schemaframework.TableCreator {
public DataTypesTableCreator() {
setName("EJB3DataTypesProject");
addTableDefinition(DataTypesTableCreator.buildPrimitiveTypesTable());
addTableDefinition(DataTypesTableCreator.buildWrapperTypesTable());
addTableDefinition(DataTypesTableCreator.buildByteArrayTable());
addTableDefinition(DataTypesTableCreator.buildPrimitiveByteArrayTable());
addTableDefinition(DataTypesTableCreator.buildCharacterArrayTable());
addTableDefinition(DataTypesTableCreator.buildCharArrayTable());
}
public static TableDefinition buildPrimitiveTypesTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_PRIMITIVE_TYPES");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("PT_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldBOOLEANDATA = new FieldDefinition();
fieldBOOLEANDATA.setName("BOOLEAN_DATA");
fieldBOOLEANDATA.setTypeName("BIT");
fieldBOOLEANDATA.setIsPrimaryKey(false);
fieldBOOLEANDATA.setIsIdentity(false);
fieldBOOLEANDATA.setUnique(false);
fieldBOOLEANDATA.setShouldAllowNull(false);
table.addField(fieldBOOLEANDATA);
FieldDefinition fieldBYTEDATA = new FieldDefinition();
fieldBYTEDATA.setName("BYTE_DATA");
fieldBYTEDATA.setTypeName("TINYINT");
fieldBYTEDATA.setIsPrimaryKey(false);
fieldBYTEDATA.setIsIdentity(false);
fieldBYTEDATA.setUnique(false);
fieldBYTEDATA.setShouldAllowNull(false);
table.addField(fieldBYTEDATA);
FieldDefinition fieldCHARDATA = new FieldDefinition();
fieldCHARDATA.setName("CHAR_DATA");
fieldCHARDATA.setTypeName("CHAR");
fieldCHARDATA.setIsPrimaryKey(false);
fieldCHARDATA.setIsIdentity(false);
fieldCHARDATA.setUnique(false);
fieldCHARDATA.setShouldAllowNull(false);
table.addField(fieldCHARDATA);
FieldDefinition fieldSHORTDATA = new FieldDefinition();
fieldSHORTDATA.setName("SHORT_DATA");
fieldSHORTDATA.setTypeName("SMALLINT");
fieldSHORTDATA.setIsPrimaryKey(false);
fieldSHORTDATA.setIsIdentity(false);
fieldSHORTDATA.setUnique(false);
fieldSHORTDATA.setShouldAllowNull(false);
table.addField(fieldSHORTDATA);
FieldDefinition fieldINTDATA = new FieldDefinition();
fieldINTDATA.setName("INT_DATA");
fieldINTDATA.setTypeName("NUMERIC");
fieldINTDATA.setSize(15);
fieldINTDATA.setIsPrimaryKey(false);
fieldINTDATA.setIsIdentity(false);
fieldINTDATA.setUnique(false);
fieldINTDATA.setShouldAllowNull(false);
table.addField(fieldINTDATA);
FieldDefinition fieldLONGDATA = new FieldDefinition();
fieldLONGDATA.setName("LONG_DATA");
fieldLONGDATA.setTypeName("NUMERIC");
fieldLONGDATA.setSize(18);
fieldLONGDATA.setIsPrimaryKey(false);
fieldLONGDATA.setIsIdentity(false);
fieldLONGDATA.setUnique(false);
fieldLONGDATA.setShouldAllowNull(false);
table.addField(fieldLONGDATA);
FieldDefinition fieldFLOATDATA = new FieldDefinition();
fieldFLOATDATA.setName("FLOAT_DATA");
fieldFLOATDATA.setTypeName("FLOAT");
fieldFLOATDATA.setIsPrimaryKey(false);
fieldFLOATDATA.setIsIdentity(false);
fieldFLOATDATA.setUnique(false);
fieldFLOATDATA.setShouldAllowNull(false);
table.addField(fieldFLOATDATA);
FieldDefinition fieldDOUBLEDATA = new FieldDefinition();
fieldDOUBLEDATA.setName("DOUBLE_DATA");
fieldDOUBLEDATA.setTypeName("DOUBLE");
fieldDOUBLEDATA.setIsPrimaryKey(false);
fieldDOUBLEDATA.setIsIdentity(false);
fieldDOUBLEDATA.setUnique(false);
fieldDOUBLEDATA.setShouldAllowNull(false);
table.addField(fieldDOUBLEDATA);
FieldDefinition fieldSTRINGDATA = new FieldDefinition();
fieldSTRINGDATA.setName("STRING_DATA");
fieldSTRINGDATA.setTypeName("VARCHAR");
fieldSTRINGDATA.setSize(30);
fieldSTRINGDATA.setIsPrimaryKey(false);
fieldSTRINGDATA.setIsIdentity(false);
fieldSTRINGDATA.setUnique(false);
fieldSTRINGDATA.setShouldAllowNull(true);
table.addField(fieldSTRINGDATA);
return table;
}
public static TableDefinition buildWrapperTypesTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_WRAPPER_TYPES");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("WT_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldBIGDECIMALDATA = new FieldDefinition();
fieldBIGDECIMALDATA.setName("BIGDECIMAL_DATA");
fieldBIGDECIMALDATA.setTypeName("NUMERIC");
fieldBIGDECIMALDATA.setSize(18);
fieldBIGDECIMALDATA.setSubSize(0);
fieldBIGDECIMALDATA.setIsPrimaryKey(false);
fieldBIGDECIMALDATA.setIsIdentity(false);
fieldBIGDECIMALDATA.setUnique(false);
fieldBIGDECIMALDATA.setShouldAllowNull(true);
table.addField(fieldBIGDECIMALDATA);
FieldDefinition fieldBIGINTEGERDATA = new FieldDefinition();
fieldBIGINTEGERDATA.setName("BIGINTEGER_DATA");
fieldBIGINTEGERDATA.setTypeName("NUMERIC");
fieldBIGINTEGERDATA.setSize(18);
fieldBIGINTEGERDATA.setSubSize(0);
fieldBIGINTEGERDATA.setIsPrimaryKey(false);
fieldBIGINTEGERDATA.setIsIdentity(false);
fieldBIGINTEGERDATA.setUnique(false);
fieldBIGINTEGERDATA.setShouldAllowNull(true);
table.addField(fieldBIGINTEGERDATA);
FieldDefinition fieldBOOLEANDATA = new FieldDefinition();
fieldBOOLEANDATA.setName("BOOLEAN_DATA");
fieldBOOLEANDATA.setTypeName("BIT");
fieldBOOLEANDATA.setIsPrimaryKey(false);
fieldBOOLEANDATA.setIsIdentity(false);
fieldBOOLEANDATA.setUnique(false);
fieldBOOLEANDATA.setShouldAllowNull(true);
table.addField(fieldBOOLEANDATA);
FieldDefinition fieldBYTEDATA = new FieldDefinition();
fieldBYTEDATA.setName("BYTE_DATA");
fieldBYTEDATA.setTypeName("TINYINT");
fieldBYTEDATA.setIsPrimaryKey(false);
fieldBYTEDATA.setIsIdentity(false);
fieldBYTEDATA.setUnique(false);
fieldBYTEDATA.setShouldAllowNull(true);
table.addField(fieldBYTEDATA);
FieldDefinition fieldCHARDATA = new FieldDefinition();
fieldCHARDATA.setName("CHARACTER_DATA");
fieldCHARDATA.setTypeName("CHAR");
fieldCHARDATA.setIsPrimaryKey(false);
fieldCHARDATA.setIsIdentity(false);
fieldCHARDATA.setUnique(false);
fieldCHARDATA.setShouldAllowNull(true);
table.addField(fieldCHARDATA);
FieldDefinition fieldSHORTDATA = new FieldDefinition();
fieldSHORTDATA.setName("SHORT_DATA");
fieldSHORTDATA.setTypeName("SMALLINT");
fieldSHORTDATA.setIsPrimaryKey(false);
fieldSHORTDATA.setIsIdentity(false);
fieldSHORTDATA.setUnique(false);
fieldSHORTDATA.setShouldAllowNull(true);
table.addField(fieldSHORTDATA);
FieldDefinition fieldINTDATA = new FieldDefinition();
fieldINTDATA.setName("INTEGER_DATA");
fieldINTDATA.setTypeName("NUMERIC");
fieldINTDATA.setSize(15);
fieldINTDATA.setIsPrimaryKey(false);
fieldINTDATA.setIsIdentity(false);
fieldINTDATA.setUnique(false);
fieldINTDATA.setShouldAllowNull(true);
table.addField(fieldINTDATA);
FieldDefinition fieldLONGDATA = new FieldDefinition();
fieldLONGDATA.setName("LONG_DATA");
fieldLONGDATA.setTypeName("NUMERIC");
fieldLONGDATA.setSize(18);
fieldLONGDATA.setIsPrimaryKey(false);
fieldLONGDATA.setIsIdentity(false);
fieldLONGDATA.setUnique(false);
fieldLONGDATA.setShouldAllowNull(true);
table.addField(fieldLONGDATA);
FieldDefinition fieldFLOATDATA = new FieldDefinition();
fieldFLOATDATA.setName("FLOAT_DATA");
fieldFLOATDATA.setTypeName("FLOAT");
fieldFLOATDATA.setIsPrimaryKey(false);
fieldFLOATDATA.setIsIdentity(false);
fieldFLOATDATA.setUnique(false);
fieldFLOATDATA.setShouldAllowNull(true);
table.addField(fieldFLOATDATA);
FieldDefinition fieldDOUBLEDATA = new FieldDefinition();
fieldDOUBLEDATA.setName("DOUBLE_DATA");
fieldDOUBLEDATA.setTypeName("DOUBLE");
fieldDOUBLEDATA.setIsPrimaryKey(false);
fieldDOUBLEDATA.setIsIdentity(false);
fieldDOUBLEDATA.setUnique(false);
fieldDOUBLEDATA.setShouldAllowNull(true);
table.addField(fieldDOUBLEDATA);
FieldDefinition fieldSTRINGDATA = new FieldDefinition();
fieldSTRINGDATA.setName("STRING_DATA");
fieldSTRINGDATA.setTypeName("VARCHAR");
fieldSTRINGDATA.setSize(30);
fieldSTRINGDATA.setIsPrimaryKey(false);
fieldSTRINGDATA.setIsIdentity(false);
fieldSTRINGDATA.setUnique(false);
fieldSTRINGDATA.setShouldAllowNull(true);
table.addField(fieldSTRINGDATA);
return table;
}
public static TableDefinition buildByteArrayTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_BYTEARRAY_TYPE");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("BA_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldBYTEARRAYDATA = new FieldDefinition();
fieldBYTEARRAYDATA.setName("BYTEARRAY_DATA");
fieldBYTEARRAYDATA.setTypeName("LONGVARBINARY");
fieldBYTEARRAYDATA.setIsPrimaryKey(false);
fieldBYTEARRAYDATA.setIsIdentity(false);
fieldBYTEARRAYDATA.setUnique(false);
fieldBYTEARRAYDATA.setShouldAllowNull(true);
table.addField(fieldBYTEARRAYDATA);
return table;
}
public static TableDefinition buildPrimitiveByteArrayTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_PBYTEARRAY_TYPE");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("PBA_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldPRIMITIVEBYTEARRAYDATA = new FieldDefinition();
fieldPRIMITIVEBYTEARRAYDATA.setName("PBYTEARRAY_DATA");
fieldPRIMITIVEBYTEARRAYDATA.setTypeName("LONGVARBINARY");
fieldPRIMITIVEBYTEARRAYDATA.setIsPrimaryKey(false);
fieldPRIMITIVEBYTEARRAYDATA.setIsIdentity(false);
fieldPRIMITIVEBYTEARRAYDATA.setUnique(false);
fieldPRIMITIVEBYTEARRAYDATA.setShouldAllowNull(true);
table.addField(fieldPRIMITIVEBYTEARRAYDATA);
return table;
}
public static TableDefinition buildCharacterArrayTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_CHARACTERARRAY_TYPE");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("CA_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldCHARACTERARRAYDATA = new FieldDefinition();
fieldCHARACTERARRAYDATA.setName("CHARACTERARRAY_DATA");
fieldCHARACTERARRAYDATA.setTypeName("LONGVARCHAR");
fieldCHARACTERARRAYDATA.setIsPrimaryKey(false);
fieldCHARACTERARRAYDATA.setIsIdentity(false);
fieldCHARACTERARRAYDATA.setUnique(false);
fieldCHARACTERARRAYDATA.setShouldAllowNull(true);
table.addField(fieldCHARACTERARRAYDATA);
return table;
}
public static TableDefinition buildCharArrayTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_PCHARARRAY_TYPE");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("PCA_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldCHARARRAYDATA = new FieldDefinition();
fieldCHARARRAYDATA.setName("PCHARARRAY_DATA");
fieldCHARARRAYDATA.setTypeName("LONGVARCHAR");
fieldCHARARRAYDATA.setIsPrimaryKey(false);
fieldCHARARRAYDATA.setIsIdentity(false);
fieldCHARARRAYDATA.setUnique(false);
fieldCHARARRAYDATA.setShouldAllowNull(true);
table.addField(fieldCHARARRAYDATA);
return table;
}
}