Class FieldDefinition
- java.lang.Object
-
- org.eclipse.persistence.tools.schemaframework.FieldDefinition
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class FieldDefinition extends Object implements Serializable, Cloneable
Purpose: Define a database field definition for creation within a table. This differs from DatabaseField in that it is used only table creation not a runtime.
Responsibilities:
- Store the name, java type, size and sub-size. The sizes are optional and the name of the java class is used for the type.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description FieldDefinition()
FieldDefinition(String name, Class type)
FieldDefinition(String name, Class type, int size)
FieldDefinition(String name, Class type, int size, int subSize)
FieldDefinition(String name, String typeName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendDBString(Writer writer, org.eclipse.persistence.internal.sessions.AbstractSession session, TableDefinition table)
INTERNAL: Append the database field definition string to the table creation statement.void
appendTypeString(Writer writer, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Append the database field definition string to the type creation statement.Object
clone()
PUBLIC:String
getAdditional()
PUBLIC: Return any additional information about this field to be given when the table is created.String
getConstraint()
PUBLIC: Return any constraint of this field.org.eclipse.persistence.internal.helper.DatabaseField
getDatabaseField()
INTERNAL: Return the databasefield.String
getForeignKeyFieldName()
String
getName()
PUBLIC: Return the name of the field.int
getSize()
PUBLIC: Return the size of the field, this is only required for some field types.int
getSubSize()
PUBLIC: Return the sub-size of the field.Class
getType()
PUBLIC: Return the type of the field.String
getTypeDefinition()
PUBLIC: Return the type definition of the field.String
getTypeName()
PUBLIC: Return the type name of the field.boolean
isIdentity()
PUBLIC: Answer whether the receiver is an identity field.boolean
isPrimaryKey()
PUBLIC: Answer whether the receiver is a primary key.boolean
isUnique()
PUBLIC: Answer whether the receiver is a unique constraint field.void
setAdditional(String string)
PUBLIC: Set any additional information about this field to be given when the table is created.void
setConstraint(String string)
PUBLIC: Set any constraint of this field.void
setDatabaseField(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: Set the DatabaseField that is associated to this FieldDefinition object.void
setForeignKeyFieldName(String foreignKeyFieldName)
void
setIsIdentity(boolean value)
PUBLIC: Set whether the receiver is an identity field.void
setIsPrimaryKey(boolean value)
PUBLIC: Set whether the receiver is a primary key.void
setName(String name)
PUBLIC: Set the name of the field.void
setShouldAllowNull(boolean value)
PUBLIC: Set whether the receiver should allow null values.void
setSize(int size)
PUBLIC: Set the size of the field, this is only required for some field types.void
setSubSize(int subSize)
PUBLIC: Set the sub-size of the field.void
setType(Class type)
PUBLIC: Set the type of the field.void
setTypeDefinition(String typeDefinition)
PUBLIC: Set the type definition of the field.void
setTypeName(String typeName)
PUBLIC: Set the type name of the field.void
setUnique(boolean value)
PUBLIC: Set whether the receiver is a unique constraint field.boolean
shouldAllowNull()
PUBLIC: Return whether the receiver should allow null values.String
toString()
-
-
-
Method Detail
-
appendDBString
public void appendDBString(Writer writer, org.eclipse.persistence.internal.sessions.AbstractSession session, TableDefinition table) throws ValidationException
INTERNAL: Append the database field definition string to the table creation statement.- Parameters:
writer
- Target writer where to write field definition string.session
- Current session context.table
- Database table being processed.- Throws:
ValidationException
- When invalid or inconsistent data were found.
-
appendTypeString
public void appendTypeString(Writer writer, org.eclipse.persistence.internal.sessions.AbstractSession session) throws ValidationException
INTERNAL: Append the database field definition string to the type creation statement. Types do not support constraints.- Parameters:
writer
- Target writer where to write field definition string.session
- Current session context.- Throws:
ValidationException
- When invalid or inconsistent data were found.
-
clone
public Object clone()
PUBLIC:
-
getAdditional
public String getAdditional()
PUBLIC: Return any additional information about this field to be given when the table is created.
-
getConstraint
public String getConstraint()
PUBLIC: Return any constraint of this field. i.e. "BETWEEN 0 AND 1000000".
-
getForeignKeyFieldName
public String getForeignKeyFieldName()
-
getName
public String getName()
PUBLIC: Return the name of the field.
-
getDatabaseField
public org.eclipse.persistence.internal.helper.DatabaseField getDatabaseField()
INTERNAL: Return the databasefield.
-
getSize
public int getSize()
PUBLIC: Return the size of the field, this is only required for some field types.
-
getSubSize
public int getSubSize()
PUBLIC: Return the sub-size of the field. This is used as the decimal precision for numeric values only.
-
getType
public Class getType()
PUBLIC: Return the type of the field. This should be set to a java class, such as String.class, Integer.class or Date.class.
-
getTypeName
public String getTypeName()
PUBLIC: Return the type name of the field. This is the generic database type name, which can be used instead of the Java class 'type'. This is translated to a particular database type based on platform.
-
getTypeDefinition
public String getTypeDefinition()
PUBLIC: Return the type definition of the field. This is database-specific complete type definition like "VARCHAR2(50) UNIQUE NOT NULL". If this is given, other additional type constraint fields(size, unique, null) are meaningless.
-
isIdentity
public boolean isIdentity()
PUBLIC: Answer whether the receiver is an identity field. Identity fields are Sybase specific, they insure that on insert a unique sequential value is stored in the row.
-
isPrimaryKey
public boolean isPrimaryKey()
PUBLIC: Answer whether the receiver is a primary key. If the table has a multipart primary key this should be set in each field.
-
isUnique
public boolean isUnique()
PUBLIC: Answer whether the receiver is a unique constraint field.
-
setAdditional
public void setAdditional(String string)
PUBLIC: Set any additional information about this field to be given when the table is created.
-
setConstraint
public void setConstraint(String string)
PUBLIC: Set any constraint of this field. i.e. "BETWEEN 0 AND 1000000".
-
setForeignKeyFieldName
public void setForeignKeyFieldName(String foreignKeyFieldName)
-
setIsIdentity
public void setIsIdentity(boolean value)
PUBLIC: Set whether the receiver is an identity field. Identity fields are Sybase specific, they insure that on insert a unique sequential value is stored in the row.
-
setIsPrimaryKey
public void setIsPrimaryKey(boolean value)
PUBLIC: Set whether the receiver is a primary key. If the table has a multipart primary key this should be set in each field.
-
setName
public void setName(String name)
PUBLIC: Set the name of the field.
-
setDatabaseField
public void setDatabaseField(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: Set the DatabaseField that is associated to this FieldDefinition object. The databaesField is used when extending tables to see if this field already exists.
-
setShouldAllowNull
public void setShouldAllowNull(boolean value)
PUBLIC: Set whether the receiver should allow null values.
-
setSize
public void setSize(int size)
PUBLIC: Set the size of the field, this is only required for some field types.
-
setSubSize
public void setSubSize(int subSize)
PUBLIC: Set the sub-size of the field. This is used as the decimal precision for numeric values only.
-
setType
public void setType(Class type)
PUBLIC: Set the type of the field. This should be set to a java class, such as String.class, Integer.class or Date.class.
-
setTypeName
public void setTypeName(String typeName)
PUBLIC: Set the type name of the field. This is the generic database type name, which can be used instead of the Java class 'type'. This is translated to a particular database type based on platform.
-
setTypeDefinition
public void setTypeDefinition(String typeDefinition)
PUBLIC: Set the type definition of the field. This is database-specific complete type definition like "VARCHAR2(50) UNIQUE NOT NULL". If this is given, other additional type constraint fields(size, unique, null) are meaningless.
-
setUnique
public void setUnique(boolean value)
PUBLIC: Set whether the receiver is a unique constraint field.
-
shouldAllowNull
public boolean shouldAllowNull()
PUBLIC: Return whether the receiver should allow null values.
-
-