Class CellRequest

java.lang.Object
mondrian.rolap.agg.CellRequest
Direct Known Subclasses:
DrillThroughCellRequest

public class CellRequest extends Object
A CellRequest contains the context necessary to get a cell value from a star.
Since:
21 March, 2002
Author:
jhyde
  • Field Details

    • extendedContext

      public final boolean extendedContext
    • drillThrough

      public final boolean drillThrough
  • Constructor Details

    • CellRequest

      public CellRequest(RolapStar.Measure measure, boolean extendedContext, boolean drillThrough)
      Creates a CellRequest.
      Parameters:
      measure - Measure the request is for
      extendedContext - If a drill-through request, whether to join in unconstrained levels so as to display extra columns
      drillThrough - Whether this is a request for a drill-through set
  • Method Details

    • addConstrainedColumn

      public final void addConstrainedColumn(RolapStar.Column column, StarColumnPredicate predicate)
      Adds a constraint to this request.
      Parameters:
      column - Column to constraint
      predicate - Constraint to apply, or null to add column to the output without applying constraint
    • addAggregateList

      public void addAggregateList(BitKey compoundBitKey, StarPredicate compoundPredicate)
      Add compound member (formed via aggregate function) constraint to the Cell.
      Parameters:
      compoundBitKey - Compound bit key
      compoundPredicate - Compound predicate
    • addPredicateString

      public void addPredicateString(String predicateString)
    • getMeasure

      public RolapStar.Measure getMeasure()
      Returns the measure of this cell request.
      Returns:
      Measure
    • getConstrainedColumns

      public RolapStar.Column[] getConstrainedColumns()
    • getConstrainedColumnsBitKey

      public BitKey getConstrainedColumnsBitKey()
      Returns the BitKey for the list of columns.
      Returns:
      BitKey for the list of columns
    • getCompoundPredicateStrings

      public List<String> getCompoundPredicateStrings()
    • getValueAt

      public StarColumnPredicate getValueAt(int index)
      Return the predicate value associated with the given index. Note that index is different than bit position; if there are three constraints then the indices are 0, 1, and 2, while the bitPositions could span a larger range.

      It is valid for the predicate at a given index to be null (there should always be a column at that index, but it may not have an associated predicate).

      Parameters:
      index - Index of the constraint we're looking up
      Returns:
      predicate value associated with the given index
    • getNumValues

      public int getNumValues()
      Return the number of column constraints associated with this CellRequest.
      Returns:
      number of columns in the CellRequest
    • getSingleValues

      public Object[] getSingleValues()
      Returns an array of the values for each column.

      The caller must check whether this request is satisfiable before calling this method. May throw NullPointerException if request is not satisfiable.

      Returns:
      Array of values for each column
    • getMappedCellValues

      public Map<String,Comparable> getMappedCellValues()
      Builds a map of column names to values, as specified by this cell request object.
    • isUnsatisfiable

      public boolean isUnsatisfiable()
      Returns whether this cell request is impossible to satisfy. This occurs when the same column has two or more inconsistent constraints.
      Returns:
      whether this cell request is impossible to satisfy