Package org.castor.ddlgen.schemaobject
Class ForeignKey
- java.lang.Object
-
- org.castor.ddlgen.schemaobject.AbstractSchemaObject
-
- org.castor.ddlgen.schemaobject.ForeignKey
-
- All Implemented Interfaces:
SchemaObject
- Direct Known Subclasses:
DefaultForeignKey
,MysqlForeignKey
public abstract class ForeignKey extends AbstractSchemaObject
Abstract base class for all foreign keys.- Since:
- 1.1
- Version:
- $Revision: 5951 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
- Author:
- Le Duc Bao, Ralf Joachim
-
-
Field Summary
Fields Modifier and Type Field Description static int
MANY_MANY
Relation type: many-many.static int
ONE_MANY
Relation type: one-many.static int
ONE_ONE
Relation type: one-one.-
Fields inherited from class org.castor.ddlgen.schemaobject.AbstractSchemaObject
HASHFACTOR
-
-
Constructor Summary
Constructors Constructor Description ForeignKey()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addField(Field field)
Add given field to list of foreign key fields.void
addReferenceField(Field field)
Add given field to list of fields referenced by the foreign key.boolean
equals(java.lang.Object other)
protected void
fieldNames(DDLWriter writer)
Concatenate all field names delimited by field delimiter and whitespace.Field
getField(int index)
Get foreign key field at given index.int
getFieldCount()
Get number of foreign key fields.Field
getReferenceField(int index)
Get field referenced by the foreign key at given index.int
getReferenceFieldCount()
Get number of fields referenced by the foreign key.Table
getReferenceTable()
Get table referenced by the foreign key.int
getRelationType()
Get type of relation.Table
getTable()
Get table that holds foreign key.int
hashCode()
void
merge(ForeignKey fk)
Check if given foreign key can be merged with this one.protected void
referencedFieldNames(DDLWriter writer)
Concatenate all referenced field names delimited by field delimiter and whitespace.void
setReferenceTable(Table table)
Set table referenced by the foreign key.void
setRelationType(int relationType)
Set type of relation.void
setTable(Table table)
Set table that holds foreign key.void
toDropDDL(DDLWriter writer)
Build drop script for the schema object.-
Methods inherited from class org.castor.ddlgen.schemaobject.AbstractSchemaObject
equals, getConfiguration, getName, setConfiguration, setName
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.castor.ddlgen.schemaobject.SchemaObject
toCreateDDL
-
-
-
-
Field Detail
-
ONE_ONE
public static final int ONE_ONE
Relation type: one-one.- See Also:
- Constant Field Values
-
ONE_MANY
public static final int ONE_MANY
Relation type: one-many.- See Also:
- Constant Field Values
-
MANY_MANY
public static final int MANY_MANY
Relation type: many-many.- See Also:
- Constant Field Values
-
-
Method Detail
-
setRelationType
public final void setRelationType(int relationType)
Set type of relation.- Parameters:
relationType
- Type of relation.
-
getRelationType
public final int getRelationType()
Get type of relation.- Returns:
- Type of relation
-
addReferenceField
public final void addReferenceField(Field field)
Add given field to list of fields referenced by the foreign key.- Parameters:
field
- Field to add to list of fields referenced by the foreign key.
-
getReferenceFieldCount
public final int getReferenceFieldCount()
Get number of fields referenced by the foreign key.- Returns:
- Number of fields referenced by the foreign key.
-
getReferenceField
public final Field getReferenceField(int index)
Get field referenced by the foreign key at given index.- Parameters:
index
- Index of referenced field to return.- Returns:
- Referneced field at given index.
-
setReferenceTable
public final void setReferenceTable(Table table)
Set table referenced by the foreign key.- Parameters:
table
- Table referenced by the foreign key.
-
getReferenceTable
public final Table getReferenceTable()
Get table referenced by the foreign key.- Returns:
- Table referenced by the foreign key.
-
addField
public final void addField(Field field)
Add given field to list of foreign key fields.- Parameters:
field
- Field to add to list of foreign key fields.
-
getFieldCount
public final int getFieldCount()
Get number of foreign key fields.- Returns:
- Number of foreign key fields.
-
getField
public final Field getField(int index)
Get foreign key field at given index.- Parameters:
index
- Index of foreign key field to return.- Returns:
- Foreign key field at given index.
-
setTable
public final void setTable(Table table)
Set table that holds foreign key.- Parameters:
table
- Table that holds foreign key.
-
getTable
public final Table getTable()
Get table that holds foreign key.- Returns:
- Table that holds foreign key.
-
fieldNames
protected final void fieldNames(DDLWriter writer)
Concatenate all field names delimited by field delimiter and whitespace.- Parameters:
writer
- DDLWriter to write schema objects to.
-
referencedFieldNames
protected final void referencedFieldNames(DDLWriter writer)
Concatenate all referenced field names delimited by field delimiter and whitespace.- Parameters:
writer
- DDLWriter to write schema objects to.
-
toDropDDL
public final void toDropDDL(DDLWriter writer)
Build drop script for the schema object.- Parameters:
writer
- DDLWriter to write schema objects to.
-
merge
public final void merge(ForeignKey fk) throws GeneratorException
Check if given foreign key can be merged with this one.- Parameters:
fk
- Foreign key to check if it is able to be merged.- Throws:
GeneratorException
- If foreign keys cannot be merged.
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-