org.castor.ddlgen.schemaobject
Class ForeignKey

java.lang.Object
  extended by org.castor.ddlgen.schemaobject.AbstractSchemaObject
      extended by 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
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
ForeignKey()
           
 
Method Summary
 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
Constructor Detail

ForeignKey

public ForeignKey()
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 class java.lang.Object

hashCode

public final int hashCode()

Overrides:
hashCode in class java.lang.Object


Copyright © 2011. All Rights Reserved.