Package mondrian.rolap.aggmatcher
Class AggStar.Table
- java.lang.Object
-
- mondrian.rolap.aggmatcher.AggStar.Table
-
- Direct Known Subclasses:
AggStar.DimTable
,AggStar.FactTable
- Enclosing class:
- AggStar
public abstract class AggStar.Table extends Object
Base Table class for the FactTable and DimTable classes. This class parallels the RolapStar.Table class.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
AggStar.Table.Column
Base class for Level and Measure classesclass
AggStar.Table.JoinCondition
The query join condition between a base table and this table (the table that owns the join condition).class
AggStar.Table.Level
This class is used for holding dimension level information.
-
Field Summary
Fields Modifier and Type Field Description protected List<AggStar.DimTable>
children
protected List<AggStar.Table.Level>
levels
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addLevel(AggStar.Table.Level level)
Add a Level column.protected void
addTable(AggStar.DimTable child)
Add a child DimTable table.void
addToFrom(SqlQuery query, boolean failIfExists, boolean joinToParent)
This is a copy of the code found in RolapStar used to generate an SQL query.protected void
convertChildren(RolapStar.Table rTable)
Convert the child tables of a RolapStar.Table into child AggStar.DimTable tables.protected void
convertColumns(RolapStar.Table rTable)
Convert a RolapStar.Table table's columns into AggStar.Table.Level columns.protected AggStar.DimTable
convertTable(RolapStar.Table rTable, JdbcSchema.Table.Column.Usage usage)
Converts aRolapStar.Table
into aAggStar.DimTable
as well as converting all columns and child tables.AggStar.Table
findDescendant(String name)
Find descendant of fact table with given name or return null.protected AggStar
getAggStar()
Get this table's enclosing AggStar.List<AggStar.DimTable>
getChildTables()
Returns a list of childAggStar.Table
objects.abstract AggStar.Table.JoinCondition
getJoinCondition()
List<AggStar.Table.Level>
getLevels()
Returns all level columns.String
getName()
Return the name of the table in the database.abstract AggStar.Table
getParent()
Get the parent table (returns null if this table is a FactTable).MondrianDef.Relation
getRelation()
protected SqlQuery
getSqlQuery()
Get a SqlQuery object.boolean
hasChildren()
Return true if this table has one or more child tables.abstract boolean
hasJoinCondition()
Return true if this table has a join condition (only DimTables have join conditions, FactTable instances do not).boolean
hasLevels()
Return true if table has levels.abstract boolean
hasParent()
Return true if this table has a parent table (FactTable instances do not have parent tables, all other do).abstract void
print(PrintWriter pw, String prefix)
String
toString()
-
-
-
Field Detail
-
levels
protected final List<AggStar.Table.Level> levels
-
children
protected List<AggStar.DimTable> children
-
-
Method Detail
-
getName
public String getName()
Return the name of the table in the database.
-
hasParent
public abstract boolean hasParent()
Return true if this table has a parent table (FactTable instances do not have parent tables, all other do).
-
getParent
public abstract AggStar.Table getParent()
Get the parent table (returns null if this table is a FactTable).
-
hasJoinCondition
public abstract boolean hasJoinCondition()
Return true if this table has a join condition (only DimTables have join conditions, FactTable instances do not).
-
getJoinCondition
public abstract AggStar.Table.JoinCondition getJoinCondition()
-
getRelation
public MondrianDef.Relation getRelation()
-
getAggStar
protected AggStar getAggStar()
Get this table's enclosing AggStar.
-
getSqlQuery
protected SqlQuery getSqlQuery()
Get a SqlQuery object.
-
addLevel
protected void addLevel(AggStar.Table.Level level)
Add a Level column.
-
getLevels
public List<AggStar.Table.Level> getLevels()
Returns all level columns.
-
hasLevels
public boolean hasLevels()
Return true if table has levels.
-
addTable
protected void addTable(AggStar.DimTable child)
Add a child DimTable table.
-
getChildTables
public List<AggStar.DimTable> getChildTables()
Returns a list of childAggStar.Table
objects.
-
findDescendant
public AggStar.Table findDescendant(String name)
Find descendant of fact table with given name or return null.- Parameters:
name
- the child table name (alias).- Returns:
- the child table or null.
-
hasChildren
public boolean hasChildren()
Return true if this table has one or more child tables.
-
convertTable
protected AggStar.DimTable convertTable(RolapStar.Table rTable, JdbcSchema.Table.Column.Usage usage)
Converts aRolapStar.Table
into aAggStar.DimTable
as well as converting all columns and child tables. If the rightJoinConditionColumnName parameter is null, then the table's namd and the rTable parameter's condition left condition's column name are used to form the join condition's left expression.
-
convertColumns
protected void convertColumns(RolapStar.Table rTable)
Convert a RolapStar.Table table's columns into AggStar.Table.Level columns.
-
convertChildren
protected void convertChildren(RolapStar.Table rTable)
Convert the child tables of a RolapStar.Table into child AggStar.DimTable tables.
-
addToFrom
public void addToFrom(SqlQuery query, boolean failIfExists, boolean joinToParent)
This is a copy of the code found in RolapStar used to generate an SQL query.
-
print
public abstract void print(PrintWriter pw, String prefix)
-
-