KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > mondrian > mdx > MemberExpr


1 /*
2 // $Id: //open/mondrian/src/main/mondrian/mdx/MemberExpr.java#5 $
3 // This software is subject to the terms of the Common Public License
4 // Agreement, available at the following URL:
5 // http://www.opensource.org/licenses/cpl.html.
6 // Copyright (C) 2006-2006 Julian Hyde
7 // All Rights Reserved.
8 // You must accept the terms of that agreement to use this software.
9 */

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 /**
19  * Usage of a {@link mondrian.olap.Member} as an MDX expression.
20  *
21  * @author jhyde
22  * @version $Id: //open/mondrian/src/main/mondrian/mdx/MemberExpr.java#5 $
23  * @since Sep 26, 2005
24  */

25 public class MemberExpr extends ExpBase implements Exp {
26     private final Member member;
27
28     /**
29      * Creates a member expression.
30      *
31      * @param member Member
32      * @pre member != null
33      */

34     public MemberExpr(Member member) {
35         Util.assertPrecondition(member != null, "member != null");
36         this.member = member;
37     }
38
39     /**
40      * Returns the member.
41      *
42      * @post return != null
43      */

44     public Member getMember() {
45         return member;
46     }
47
48     public String JavaDoc 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 JavaDoc accept(MdxVisitor visitor) {
73         return visitor.visit(this);
74     }
75 }
76
77 // End MemberExpr.java
78
Popular Tags