Class TableLink
java.lang.Object
org.castor.cpa.persistence.sql.engine.info.TableLink
Class representing relations between tables.
There are 3 possible types of tableLinks:
SIMPLE: Used for 1:1 relations. No join will be added to the query. Just the startColumns
will be added to the query.
MANY_KEY: Used to express 1:m relations. Join will be added to the query.
MANY_TABLE: Used to express n:m relations. Join will be added to the query.
- Version:
- $Revision: 8469 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
- Author:
- Dennis Butterstein, Ralf Joachim
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Constant defining many table relation (n:m).static final int
Constant defining many key relation (1:m).static final int
Constant defining simple table-link (1:1). -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TableLink
(TableInfo targetTable, int relationType, String tableAlias, List<ColumnInfo> startColumns, int fieldIndex) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addTargetCol
(ColumnInfo col) Method adding a single targetCol.void
addTargetCols
(List<ColumnInfo> cols) Method adding a list of targetCols.int
Method returning fieldIndex currently set.Method returning many key.int
Method returning relation type currently set.Method returning a list of start columns.Method returning the table alias to be used for a potential join.Method returning a list of target columns.Method returning the right table of the join.void
setManyKey
(List<String> manyKey) Method given setting many key.
-
Field Details
-
REFERS_TO
public static final int REFERS_TOConstant defining simple table-link (1:1).- See Also:
-
REFERED_BY
public static final int REFERED_BYConstant defining many key relation (1:m).- See Also:
-
MANY_TO_MANY
public static final int MANY_TO_MANYConstant defining many table relation (n:m).- See Also:
-
-
Constructor Details
-
TableLink
protected TableLink(TableInfo targetTable, int relationType, String tableAlias, List<ColumnInfo> startColumns, int fieldIndex) Constructor.- Parameters:
targetTable
- The right table of the join.relationType
- The type of the relation.tableAlias
- Alias of the table.startColumns
- Columns of the left table needed for joins.fieldIndex
- Index of the startColumns.
-
-
Method Details
-
getStartCols
Method returning a list of start columns.- Returns:
- List of start columns.
-
addTargetCol
Method adding a single targetCol.- Parameters:
col
- Column to be added as a target column.
-
addTargetCols
Method adding a list of targetCols.- Parameters:
cols
- List of columns to be added as target columns.
-
getTargetCols
Method returning a list of target columns.- Returns:
- List of target columns of the join.
-
getTargetTable
Method returning the right table of the join.- Returns:
- TargetTable of the join.
-
getTableAlias
Method returning the table alias to be used for a potential join.- Returns:
- The tableAlias to be used for a join.
-
getRelationType
public int getRelationType()Method returning relation type currently set.- Returns:
- Relation type currently set.
-
setManyKey
Method given setting many key.- Parameters:
manyKey
- The many key to be set.
-
getManyKey
Method returning many key.- Returns:
- Many key currently set.
-
getFieldIndex
public int getFieldIndex()Method returning fieldIndex currently set.- Returns:
- FieldIndex currently set.
-