Package mondrian.rolap.agg
Class MemberTuplePredicate
java.lang.Object
mondrian.rolap.agg.MemberTuplePredicate
- All Implemented Interfaces:
StarPredicate
Predicate which constrains a column to a particular member, or a range
above or below a member, or a range between two members.
- Author:
- jhyde
-
Field Summary
Fields inherited from interface mondrian.rolap.StarPredicate
WILDCARD
-
Constructor Summary
ConstructorDescriptionMemberTuplePredicate
(RolapCube baseCube, RolapCubeMember member) Creates a MemberTuplePredicate which evaluates to true for a given member.MemberTuplePredicate
(RolapCube baseCube, RolapMember lower, boolean lowerStrict, RolapMember upper, boolean upperStrict) Creates a MemberTuplePredicate which evaluates to true for a given range of members. -
Method Summary
Modifier and TypeMethodDescriptionand
(StarPredicate predicate) Returns this intersection of this Predicate with another.void
describe
(StringBuilder buf) Appends a description of this predicate to aStringBuilder
.boolean
equalConstraint
(StarPredicate that) Returns whether this Predicate has the same constraining effect as the other constraint.boolean
boolean
Evaluates a constraint against a list of values.Returns a bitmap of constrained columns to speed up comparisonReturns a list of constrained columns.int
hashCode()
minus
(StarPredicate predicate) Returns the logical inverse of this Predicate.or
(StarPredicate predicate) Returns this union of this Predicate with another.void
toSql
(SqlQuery sqlQuery, StringBuilder buf)
-
Constructor Details
-
MemberTuplePredicate
public MemberTuplePredicate(RolapCube baseCube, RolapMember lower, boolean lowerStrict, RolapMember upper, boolean upperStrict) Creates a MemberTuplePredicate which evaluates to true for a given range of members.The range can be open above or below, but at least one bound is required.
- Parameters:
baseCube
- base cube for virtual memberslower
- Member which forms the lower bound, or null if range is open belowlowerStrict
- Whether lower bound of range is strictupper
- Member which forms the upper bound, or null if range is open aboveupperStrict
- Whether upper bound of range is strict
-
MemberTuplePredicate
Creates a MemberTuplePredicate which evaluates to true for a given member.- Parameters:
baseCube
- base cube for virtual membersmember
- Member
-
-
Method Details
-
hashCode
public int hashCode() -
equals
-
getConstrainedColumnList
Returns a list of constrained columns.- Specified by:
getConstrainedColumnList
in interfaceStarPredicate
- Returns:
- List of constrained columns
-
getConstrainedColumnBitKey
Description copied from interface:StarPredicate
Returns a bitmap of constrained columns to speed up comparison- Specified by:
getConstrainedColumnBitKey
in interfaceStarPredicate
- Returns:
- bitmap representing all constraining columns.
-
equalConstraint
Description copied from interface:StarPredicate
Returns whether this Predicate has the same constraining effect as the other constraint. This is weaker thanObject.equals(Object)
: it is possible for two different members to constrain the same column in the same way.- Specified by:
equalConstraint
in interfaceStarPredicate
- Parameters:
that
- Other predicate- Returns:
- whether the other predicate is equivalent
-
minus
Description copied from interface:StarPredicate
Returns the logical inverse of this Predicate. The result is a Predicate which holds whenever this predicate holds but the other does not.- Specified by:
minus
in interfaceStarPredicate
- Parameters:
predicate
- Predicate- Returns:
- Combined predicate
-
or
Description copied from interface:StarPredicate
Returns this union of this Predicate with another. The result is a Predicate which holds whenever either predicate holds.- Specified by:
or
in interfaceStarPredicate
- Parameters:
predicate
- Predicate- Returns:
- Combined predicate
-
and
Description copied from interface:StarPredicate
Returns this intersection of this Predicate with another. The result is a Predicate which holds whenever both predicates hold.- Specified by:
and
in interfaceStarPredicate
- Parameters:
predicate
- Predicate- Returns:
- Combined predicate
-
evaluate
Evaluates a constraint against a list of values.- Specified by:
evaluate
in interfaceStarPredicate
- Parameters:
valueList
- List of values, one for each constrained column- Returns:
- Whether constraint holds for given set of values
-
describe
Description copied from interface:StarPredicate
Appends a description of this predicate to aStringBuilder
. For example:- =any
- =5
- in (2, 4, 6)
- Specified by:
describe
in interfaceStarPredicate
- Parameters:
buf
- Builder to append to
-
toSql
- Specified by:
toSql
in interfaceStarPredicate
-