blob: 2955df597f4d6dfc900ddc3e89ad9a77a89f285d [file] [log] [blame]
package org.apache.ddlutils.alteration;
import org.apache.ddlutils.model.Database;
import org.apache.ddlutils.model.ForeignKey;
import org.apache.ddlutils.model.Table;
public abstract class ForeignKeyChangeImplBase extends TableChangeImplBase
implements ForeignKeyChange
{
/** The foreign key. */
private ForeignKey _foreignKey;
/**
* Creates a new change object.
*
* @param table The table
* @param foreignKey The foreign key
*/
public ForeignKeyChangeImplBase(Table table, ForeignKey foreignKey)
{
super(table);
_foreignKey = foreignKey;
}
/**
* {@inheritDoc}
*/
public ForeignKey getChangedForeignKey()
{
return _foreignKey;
}
/**
* {@inheritDoc}
*/
public ForeignKey findChangedForeignKey(Database model, boolean caseSensitive)
{
Table table = findChangedTable(model, caseSensitive);
if (table != null)
{
for (int fkIdx = 0; fkIdx < table.getForeignKeyCount(); fkIdx++)
{
ForeignKey curFk = table.getForeignKey(fkIdx);
if ((caseSensitive && _foreignKey.equals(curFk)) ||
(!caseSensitive && _foreignKey.equalsIgnoreCase(curFk)))
{
return curFk;
}
}
}
return null;
}
}