Package com.mckoi.database.interpret
Class ConstraintDef
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description static intCHECKA CHECK constraint.static intFOREIGN_KEYA FOREIGN_KEY constraint.static intPRIMARY_KEYA PRIMARY_KEY constraint.static intUNIQUEA UNIQUE constraint.
-
Constructor Summary
Constructors Constructor Description ConstraintDef()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()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.StringgetDeleteRule()Returns the delete rule if this is a foreign key reference.java.lang.StringgetUpdateRule()Returns the update rule if this is a foreign key reference.voidprepareExpressions(ExpressionPreparer preparer)Prepares all expressions in this statement tree object by passing the ExpressionPreparer object to the 'prepare' method of the expression.voidsetCheck(Expression exp)Sets object up for a check constraint.voidsetForeignKey(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.voidsetInitiallyDeferred()Sets that this constraint is initially deferred.voidsetName(java.lang.String name)Sets the name of the constraint.voidsetNotDeferrable()Sets that this constraint is not deferrable.voidsetPrimaryKey(java.util.ArrayList list)Sets object up for a primary key constraint.voidsetUnique(java.util.ArrayList list)Sets object up for a unique constraint.
-
-
-
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
-
-
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:StatementTreeObjectPrepares all expressions in this statement tree object by passing the ExpressionPreparer object to the 'prepare' method of the expression.- Specified by:
prepareExpressionsin interfaceStatementTreeObject- Throws:
DatabaseException
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedExceptionDescription copied from interface:StatementTreeObjectPerforms 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:
clonein interfaceStatementTreeObject- Overrides:
clonein classjava.lang.Object- Throws:
java.lang.CloneNotSupportedException
-
-