/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
/*
* Created on 13.apr.2004
*
*/
package com.enonic.esl.sql.model;
import com.enonic.esl.sql.model.datatypes.DataType;
public class ForeignKeyColumn
extends Column
{
private final String referencedTableName;
private final String referencedColumnName;
private Table referencedTable;
private Column referencedColumn;
private final boolean isDelete;
public ForeignKeyColumn( String name, String xpath, boolean required, boolean primaryKey, DataType type, Object defaultValue,
String referencedTableName, String referencedColumnName, boolean isDelete, int size )
{
super( name, xpath, required, primaryKey, type, size );
this.referencedTableName = referencedTableName;
this.referencedColumnName = referencedColumnName;
this.isDelete = isDelete;
}
protected String getReferencedTableName()
{
return referencedTableName;
}
protected String getReferencedColumnName()
{
return referencedColumnName;
}
public Table getReferencedTable()
{
return referencedTable;
}
public Column getReferencedColumn()
{
return referencedColumn;
}
public void setReferencedTable( Table referencedTable )
{
this.referencedTable = referencedTable;
}
public void setReferencedColumn( Column referencedColumn )
{
this.referencedColumn = referencedColumn;
}
public boolean isForeignKey()
{
return true;
}
public boolean isDelete()
{
return isDelete;
}
public int getSize()
{
if ( this.referencedColumn != null )
{
return this.referencedColumn.getSize();
}
else
{
return -1;
}
}
}