1 10 package mondrian.mdx; 11 12 import mondrian.olap.*; 13 import mondrian.olap.type.Type; 14 import mondrian.olap.type.MemberType; 15 import mondrian.calc.*; 16 import mondrian.calc.impl.ConstantCalc; 17 18 25 public class MemberExpr extends ExpBase implements Exp { 26 private final Member member; 27 28 34 public MemberExpr(Member member) { 35 Util.assertPrecondition(member != null, "member != null"); 36 this.member = member; 37 } 38 39 44 public Member getMember() { 45 return member; 46 } 47 48 public String toString() { 49 return member.getUniqueName(); 50 } 51 52 public Type getType() { 53 return MemberType.forMember(member); 54 } 55 56 public MemberExpr clone() { 57 return new MemberExpr(member); 58 } 59 60 public int getCategory() { 61 return Category.Member; 62 } 63 64 public Exp accept(Validator validator) { 65 return this; 66 } 67 68 public Calc accept(ExpCompiler compiler) { 69 return ConstantCalc.constantMember(member); 70 } 71 72 public Object accept(MdxVisitor visitor) { 73 return visitor.visit(this); 74 } 75 } 76 77 | Popular Tags |