com.mckoi.database.interpret
Class ConstraintDef

java.lang.Object
  extended by com.mckoi.database.interpret.ConstraintDef
All Implemented Interfaces:
StatementTreeObject, java.io.Serializable, java.lang.Cloneable

public final class ConstraintDef
extends java.lang.Object
implements java.io.Serializable, StatementTreeObject, java.lang.Cloneable

Represents a constraint definition (description) for a table.

Author:
Tobias Downer
See Also:
Serialized Form

Field Summary
static int CHECK
          A CHECK constraint.
static int FOREIGN_KEY
          A FOREIGN_KEY constraint.
static int PRIMARY_KEY
          A PRIMARY_KEY constraint.
static int UNIQUE
          A UNIQUE constraint.
 
Constructor Summary
ConstraintDef()
           
 
Method Summary
 java.lang.Object clone()
          Performs a DEEP clone of this object if it is mutable, or a deep clone of its mutable members.
 java.lang.String[] getColumnList()
          Returns the first column list as a string array.
 java.lang.String[] getColumnList2()
          Returns the first column list as a string array.
 java.lang.String getDeleteRule()
          Returns the delete rule if this is a foreign key reference.
 java.lang.String getUpdateRule()
          Returns the update rule if this is a foreign key reference.
 void prepareExpressions(ExpressionPreparer preparer)
          Prepares all expressions in this statement tree object by passing the ExpressionPreparer object to the 'prepare' method of the expression.
 void setCheck(Expression exp)
          Sets object up for a check constraint.
 void setForeignKey(java.lang.String ref_table, java.util.ArrayList col_list, java.util.ArrayList ref_col_list, java.lang.String delete_rule, java.lang.String update_rule)
          Sets object up for foreign key reference.
 void setInitiallyDeferred()
          Sets that this constraint is initially deferred.
 void setName(java.lang.String name)
          Sets the name of the constraint.
 void setNotDeferrable()
          Sets that this constraint is not deferrable.
 void setPrimaryKey(java.util.ArrayList list)
          Sets object up for a primary key constraint.
 void setUnique(java.util.ArrayList list)
          Sets object up for a unique constraint.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PRIMARY_KEY

public static final int PRIMARY_KEY
A PRIMARY_KEY constraint. With this constraint, the 'column_list' list contains the names of the columns in this table that are defined as the primary key. There may only be one primary key constraint per table.

See Also:
Constant Field Values

UNIQUE

public static final int UNIQUE
A UNIQUE constraint. With this constraint, the 'column_list' list contains the names of the columns in this table that must be unique.

See Also:
Constant Field Values

FOREIGN_KEY

public static final int FOREIGN_KEY
A FOREIGN_KEY constraint. With this constraint, the 'table_name' string contains the name of the table that this is a foreign key for, the 'column_list' list contains the list of foreign key columns, and 'column_list2' optionally contains the referenced columns.

See Also:
Constant Field Values

CHECK

public static final int CHECK
A CHECK constraint. With this constraint, the 'expression' object contains the expression that must evaluate to true when adding a column to the table.

See Also:
Constant Field Values
Constructor Detail

ConstraintDef

public ConstraintDef()
Method Detail

setName

public void setName(java.lang.String name)
Sets the name of the constraint.


setPrimaryKey

public void setPrimaryKey(java.util.ArrayList list)
Sets object up for a primary key constraint.


setUnique

public void setUnique(java.util.ArrayList list)
Sets object up for a unique constraint.


setCheck

public void setCheck(Expression exp)
Sets object up for a check constraint.


setForeignKey

public void setForeignKey(java.lang.String ref_table,
                          java.util.ArrayList col_list,
                          java.util.ArrayList ref_col_list,
                          java.lang.String delete_rule,
                          java.lang.String update_rule)
Sets object up for foreign key reference.


setInitiallyDeferred

public void setInitiallyDeferred()
Sets that this constraint is initially deferred.


setNotDeferrable

public void setNotDeferrable()
Sets that this constraint is not deferrable.


getColumnList

public java.lang.String[] getColumnList()
Returns the first column list as a string array.


getColumnList2

public java.lang.String[] getColumnList2()
Returns the first column list as a string array.


getDeleteRule

public java.lang.String getDeleteRule()
Returns the delete rule if this is a foreign key reference.


getUpdateRule

public java.lang.String getUpdateRule()
Returns the update rule if this is a foreign key reference.


prepareExpressions

public void prepareExpressions(ExpressionPreparer preparer)
                        throws DatabaseException
Description copied from interface: StatementTreeObject
Prepares all expressions in this statement tree object by passing the ExpressionPreparer object to the 'prepare' method of the expression.

Specified by:
prepareExpressions in interface StatementTreeObject
Throws:
DatabaseException

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Description copied from interface: StatementTreeObject
Performs a DEEP clone of this object if it is mutable, or a deep clone of its mutable members. If the object is immutable then it may return 'this'.

Specified by:
clone in interface StatementTreeObject
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException