Class AggregateImpl

java.lang.Object
org.pentaho.aggdes.algorithm.impl.AggregateImpl
All Implemented Interfaces:
Aggregate

public class AggregateImpl extends Object implements Aggregate
Implementation of Aggregate.
  • Constructor Details

  • Method Details

    • toString

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

      public List<Attribute> getAttributes()
      Description copied from interface: Aggregate
      Returns a list of attributes in this aggregate table.
      Specified by:
      getAttributes in interface Aggregate
      Returns:
      list of attributes in this aggregate table
    • getMeasures

      public List<Measure> getMeasures()
      Description copied from interface: Aggregate
      Returns a list of measures in this aggregate table.
      Specified by:
      getMeasures in interface Aggregate
      Returns:
      list of measures in this aggregate table
    • estimateRowCount

      public double estimateRowCount()
      Description copied from interface: Aggregate
      Returns an estimate of the number of distinct values in this Aggregate.
      Specified by:
      estimateRowCount in interface Aggregate
      Returns:
      estimated number of distinct values
    • estimateSpace

      public double estimateSpace()
      Description copied from interface: Aggregate
      Returns an estimate of the amount of space (in bytes) required to store this Aggregate.
      Specified by:
      estimateSpace in interface Aggregate
      Returns:
      estimated space in bytes
    • getDescription

      public String getDescription()
      Description copied from interface: Aggregate
      Returns a text description of this aggregate
      Specified by:
      getDescription in interface Aggregate
      Returns:
      description of aggregate
    • getCandidateTableName

      public String getCandidateTableName()
      Description copied from interface: Aggregate
      Returns a suggestion for the name of a table in which to store this aggregate.

      The suggestion does not need to be unique within the db schema or less than the database's table name limit, but the implementation should try to generate a name that is likely to be unique and descriptive in the first 20 or so characters.

      Specified by:
      getCandidateTableName in interface Aggregate
      Returns:
      candidate table name
    • hasCompleteAncestors

      public boolean hasCompleteAncestors(List<BitSetPlus> ancestorClosure)
      Returns whether this Aggregate is closed with respect to ancestors. If it contains an attribute but does not contain all of the ancestors of that attribute (see Attribute.getAncestorAttributes()), return false.
      Parameters:
      ancestorClosure - List containing, for each attribute ordinal, the ordinals of the ancestors of that attribute, and all of their ancestors, and so forth
      Returns:
      whether this Aggegate is closed with respect to ancestors