Package mondrian.rolap
Class DefaultMemberChildrenConstraint
- java.lang.Object
-
- mondrian.rolap.DefaultMemberChildrenConstraint
-
- All Implemented Interfaces:
MemberChildrenConstraint
,SqlConstraint
public class DefaultMemberChildrenConstraint extends Object implements MemberChildrenConstraint
Restricts the SQL result set to the parent member of a MemberChildren query. If called with a calculated member an exception will be thrown.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DefaultMemberChildrenConstraint()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLevelConstraint(SqlQuery query, RolapCube baseCube, AggStar aggStar, RolapLevel level)
Will be called once for the level that contains the children of a Member.Children query.void
addMemberConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, List<RolapMember> parents)
Modifies aMember.Children
query so that (all or some) children of all parent members contained inparents
will be returned in the result set.void
addMemberConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, RolapMember parent)
Modifies aMember.Children
query so that only the children ofparent
will be returned in the result set.Object
getCacheKey()
Returns a key that becomes part of the key for caching the result of the SQL query.static MemberChildrenConstraint
instance()
String
toString()
-
-
-
Method Detail
-
addMemberConstraint
public void addMemberConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, RolapMember parent)
Description copied from interface:MemberChildrenConstraint
Modifies aMember.Children
query so that only the children ofparent
will be returned in the result set.- Specified by:
addMemberConstraint
in interfaceMemberChildrenConstraint
- Parameters:
sqlQuery
- the query to modifybaseCube
- base cube for virtual membersaggStar
- Aggregate star, if we are reading from an aggregate table,parent
- the parent member that restricts the returned children
-
addMemberConstraint
public void addMemberConstraint(SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar, List<RolapMember> parents)
Description copied from interface:MemberChildrenConstraint
Modifies aMember.Children
query so that (all or some) children of all parent members contained inparents
will be returned in the result set.- Specified by:
addMemberConstraint
in interfaceMemberChildrenConstraint
- Parameters:
sqlQuery
- Query to modifybaseCube
- Base cube for virtual membersaggStar
- Aggregate table, or null if query is against fact tableparents
- List of parent members that restrict the returned children
-
addLevelConstraint
public void addLevelConstraint(SqlQuery query, RolapCube baseCube, AggStar aggStar, RolapLevel level)
Description copied from interface:MemberChildrenConstraint
Will be called once for the level that contains the children of a Member.Children query. If the condition requires so, it may join the levels table to the fact table.- Specified by:
addLevelConstraint
in interfaceMemberChildrenConstraint
- Parameters:
query
- the query to modifybaseCube
- base cube for virtual membersaggStar
- Aggregate table, or null if query is against fact tablelevel
- the level that contains the children
-
getCacheKey
public Object getCacheKey()
Description copied from interface:SqlConstraint
Returns a key that becomes part of the key for caching the result of the SQL query. So SqlConstraint instances that produce the same SQL resultset must return equal keys in terms of equal() and hashCode().- Specified by:
getCacheKey
in interfaceSqlConstraint
- Returns:
- valid key or null to prevent the result from being cached
-
instance
public static MemberChildrenConstraint instance()
-
-