| 1 9 package mondrian.rolap; 10 11 import java.util.List ; 12 import java.util.Map ; 13 import java.util.Collections ; 14 15 import mondrian.olap.Evaluator; 16 import mondrian.rolap.sql.TupleConstraint; 17 import mondrian.rolap.sql.MemberChildrenConstraint; 18 import mondrian.rolap.sql.SqlQuery; 19 import mondrian.rolap.aggmatcher.AggStar; 20 21 29 class DescendantsConstraint implements TupleConstraint { 30 List <RolapMember> parentMembers; 31 MemberChildrenConstraint mcc; 32 33 39 public DescendantsConstraint( 40 List <RolapMember> parentMembers, 41 MemberChildrenConstraint mcc) 42 { 43 this.parentMembers = parentMembers; 44 this.mcc = mcc; 45 } 46 47 public void addConstraint( 48 SqlQuery sqlQuery, 49 Map <RolapLevel, RolapStar.Column> levelToColumnMap) 50 { 51 if (levelToColumnMap == null) { 52 levelToColumnMap = Collections.emptyMap(); 53 } 54 mcc.addMemberConstraint( 55 sqlQuery, levelToColumnMap, null, parentMembers); 56 } 57 58 public void addLevelConstraint( 59 SqlQuery sqlQuery, AggStar aggStar, 60 RolapLevel level, Map <RolapLevel, RolapStar.Column> levelToColumnMap) 61 { 62 mcc.addLevelConstraint(sqlQuery, aggStar, level, levelToColumnMap); 63 } 64 65 public MemberChildrenConstraint getMemberChildrenConstraint(RolapMember parent) { 66 return mcc; 67 } 68 69 74 public Object getCacheKey() { 75 return null; 76 } 77 78 public Evaluator getEvaluator() { 79 return null; 80 } 81 } 82 83 | Popular Tags |