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.
  • Field Details

  • Method Details

    • 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 child AggStar.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 a RolapStar.Table into a AggStar.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.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • print

      public abstract void print(PrintWriter pw, String prefix)