Class RolapResult.CompoundSlicerRolapMember

All Implemented Interfaces:
Comparable, Annotated, Member, OlapElement, RolapMeasure, RolapMember
Enclosing class:
RolapResult

public class RolapResult.CompoundSlicerRolapMember extends DelegatingRolapMember implements RolapMeasure
Member which holds the AggregateCalc used when evaluating a compound slicer. This is used to better handle some cases where calculated members elsewhere in the query can override the context of the slicer members. See MONDRIAN-1226.
  • Constructor Details

    • CompoundSlicerRolapMember

      public CompoundSlicerRolapMember(RolapMember placeholderMember, Calc calc, mondrian.rolap.RolapResult.ValueFormatter formatter, TupleList tupleList)
  • Method Details

    • isEvaluated

      public boolean isEvaluated()
      Description copied from interface: Member
      Returns whether this member should be evaluated within the Evaluator.

      Normally Member.isCalculated() and Member.isEvaluated() should return the same value, but in situations where mondrian would like to treat the two concepts separately such in role based security, these values may differ.

      Specified by:
      isEvaluated in interface Member
      Overrides:
      isEvaluated in class DelegatingRolapMember
      Returns:
      true if evaluated
    • getExpression

      public Exp getExpression()
      Description copied from class: MemberBase
      Returns the expression by which this member is calculated. The expression is not null if and only if the member is not calculated.
      Specified by:
      getExpression in interface Member
      Overrides:
      getExpression in class DelegatingRolapMember
    • getCompiledExpression

      public Calc getCompiledExpression(mondrian.rolap.RolapEvaluatorRoot root)
      Overrides:
      getCompiledExpression in class RolapMemberBase
    • getSolveOrder

      public int getSolveOrder()
      CompoundSlicerRolapMember is always wrapped inside a CacheCalc. To maximize the benefit of the CacheCalc and the expression cache, the solve order of the CompoundSlicerRolapMember should be lower than all other calculations.
      Specified by:
      getSolveOrder in interface Member
      Overrides:
      getSolveOrder in class DelegatingRolapMember
    • isOnSameHierarchyChain

      public boolean isOnSameHierarchyChain(Member otherMember)
      Description copied from interface: Member
      Returns true if this member is on the same hierarchy chain as otherMember.
      Specified by:
      isOnSameHierarchyChain in interface Member
      Overrides:
      isOnSameHierarchyChain in class MemberBase
      Returns:
    • isOnSameHierarchyChainInternal

      public boolean isOnSameHierarchyChainInternal(MemberBase member2)
      Overrides:
      isOnSameHierarchyChainInternal in class MemberBase
    • getFormatter

      public mondrian.rolap.RolapResult.ValueFormatter getFormatter()
      Description copied from interface: RolapMeasure
      Returns the object that formats cells of this measure, or null to use default formatting.
      Specified by:
      getFormatter in interface RolapMeasure
      Returns:
      formatter