EclipseLink 2.2.0, build 'v20110202-r8913' API Reference

org.eclipse.persistence.tools.schemaframework
Class FieldDefinition

java.lang.Object
  extended by org.eclipse.persistence.tools.schemaframework.FieldDefinition
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class FieldDefinition
extends java.lang.Object
implements java.io.Serializable, java.lang.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:

See Also:
Serialized Form

Field Summary
protected  java.lang.String additional
           
protected  java.lang.String constraint
           
protected  java.lang.String foreignKeyFieldName
           
protected  boolean isIdentity
           
protected  boolean isPrimaryKey
           
protected  boolean isUnique
           
protected  java.lang.String name
           
protected  boolean shouldAllowNull
           
protected  int size
           
protected  int subSize
           
protected  java.lang.Class type
          Java type class for the field.
protected  java.lang.String typeDefinition
          Database-specific complete type definition like "VARCHAR2(50) UNIQUE NOT NULL".
protected  java.lang.String typeName
          Generic database type name for the field, which can be used instead of the Java class 'type'.
 
Constructor Summary
FieldDefinition()
           
FieldDefinition(java.lang.String name, java.lang.Class type)
           
FieldDefinition(java.lang.String name, java.lang.Class type, int size)
           
FieldDefinition(java.lang.String name, java.lang.Class type, int size, int subSize)
           
FieldDefinition(java.lang.String name, java.lang.String typeName)
           
 
Method Summary
 void appendDBString(java.io.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(java.io.Writer writer, org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Append the database field definition string to the type creation statement.
 java.lang.Object clone()
          PUBLIC:
 java.lang.String getAdditional()
          PUBLIC: Return any additional information about this field to be given when the table is created.
 java.lang.String getConstraint()
          PUBLIC: Return any constraint of this field.
 java.lang.String getForeignKeyFieldName()
           
 java.lang.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.
 java.lang.Class getType()
          PUBLIC: Return the type of the field.
 java.lang.String getTypeDefinition()
          PUBLIC: Return the type definition of the field.
 java.lang.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(java.lang.String string)
          PUBLIC: Set any additional information about this field to be given when the table is created.
 void setConstraint(java.lang.String string)
          PUBLIC: Set any constraint of this field.
 void setForeignKeyFieldName(java.lang.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(java.lang.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(java.lang.Class type)
          PUBLIC: Set the type of the field.
 void setTypeDefinition(java.lang.String typeDefinition)
          PUBLIC: Set the type definition of the field.
 void setTypeName(java.lang.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.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

type

protected java.lang.Class type
Java type class for the field. Particular database type is generated based on platform from this.


typeName

protected java.lang.String typeName
Generic database type name for the field, which can be used instead of the Java class 'type'. This is translated to a particular database type based on platform.


typeDefinition

protected java.lang.String typeDefinition
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.


size

protected int size

subSize

protected int subSize

shouldAllowNull

protected boolean shouldAllowNull

isIdentity

protected boolean isIdentity

isPrimaryKey

protected boolean isPrimaryKey

isUnique

protected boolean isUnique

additional

protected java.lang.String additional

constraint

protected java.lang.String constraint

foreignKeyFieldName

protected java.lang.String foreignKeyFieldName
Constructor Detail

FieldDefinition

public FieldDefinition()

FieldDefinition

public FieldDefinition(java.lang.String name,
                       java.lang.Class type)

FieldDefinition

public FieldDefinition(java.lang.String name,
                       java.lang.Class type,
                       int size)

FieldDefinition

public FieldDefinition(java.lang.String name,
                       java.lang.Class type,
                       int size,
                       int subSize)

FieldDefinition

public FieldDefinition(java.lang.String name,
                       java.lang.String typeName)
Method Detail

appendDBString

public void appendDBString(java.io.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.

Throws:
ValidationException

appendTypeString

public void appendTypeString(java.io.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.

Throws:
ValidationException

clone

public java.lang.Object clone()
PUBLIC:

Overrides:
clone in class java.lang.Object

getAdditional

public java.lang.String getAdditional()
PUBLIC: Return any additional information about this field to be given when the table is created.


getConstraint

public java.lang.String getConstraint()
PUBLIC: Return any constraint of this field. i.e. "BETWEEN 0 AND 1000000".


getForeignKeyFieldName

public java.lang.String getForeignKeyFieldName()

getName

public java.lang.String getName()
PUBLIC: Return the name of the field.


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 java.lang.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 java.lang.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 java.lang.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(java.lang.String string)
PUBLIC: Set any additional information about this field to be given when the table is created.


setConstraint

public void setConstraint(java.lang.String string)
PUBLIC: Set any constraint of this field. i.e. "BETWEEN 0 AND 1000000".


setForeignKeyFieldName

public void setForeignKeyFieldName(java.lang.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(java.lang.String name)
PUBLIC: Set the name of the field.


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(java.lang.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(java.lang.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(java.lang.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.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

EclipseLink 2.2.0, build 'v20110202-r8913' API Reference