package net.sf.minuteProject.configuration.bean.model.data; import java.io.Serializable; import net.sf.minuteProject.configuration.bean.GeneratorBean; import net.sf.minuteProject.utils.ColumnUtils; /** * Inspired from DDLUtils Reference * Represents a reference between a column in the local table and a column in another table. * * @author Florian Adler */ public interface Reference extends GeneratorBean { /** * Returns the sequence value within the owning key. * * @return The sequence value */ public int getSequenceValue(); /** * Sets the sequence value within the owning key. Please note * that you should not change the value once the reference has * been added to a key. * * @param sequenceValue The sequence value */ public void setSequenceValue(int sequenceValue); /** * Returns the local column. * * @return The local column */ public Column getLocalColumn(); /** * Sets the local column. * * @param localColumn The local column */ public void setLocalColumn(Column localColumn); /** * Returns the local table. * * @return The local table */ public String getLocalTableName(); /** * Sets the local table. * * @param localTable The local table */ public void setLocalTableName(String localTableName); /** * Returns the foreign column. * * @return The foreign column */ public Column getForeignColumn(); /** * Sets the foreign column. * * @param foreignColumn The foreign column public void setForeignColumn(Column foreignColumn); */ /** * Returns the name of the local column. * * @return The column name */ public String getLocalColumnName(); /** * Sets the name of the local column. Note that you should not use this method when * manipulating the model manually. Rather use the {@link #setLocalColumn(Column)} method. * * @param localColumnName The column name */ public void setLocalColumnName(String localColumnName); /** * Returns the name of the foreign column. * * @return The column name */ public String getForeignColumnName(); /** * Sets the name of the remote column. Note that you should not use this method when * manipulating the model manually. Rather use the {@link #setForeignColumn(Column)} method. * * @param foreignColumnName The column name */ public void setForeignColumnName(String foreignColumnName); public void setForeignColumn(Column column); public void setForeignTable(Table table); public Table getForeignTable (); public void setForeignTableName(String foreignTableName); public String getForeignTableName (); public void setLocalTable(Table localTable); public Table getLocalTable(); public boolean isMasterRelationship(); public void setMasterRelationship(); public void setAggregateRelationship(); public boolean isAggregateRelationship(); }