001package gudusoft.gsqlparser.nodes.mdx;
002/*
003 * Date: 12-1-31
004 */
005
006import gudusoft.gsqlparser.nodes.TPTNodeList;
007import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
008
009public class TMdxPropertyNode extends TMdxBaseFunctionNode {
010
011    private String functionName;
012    private TPTNodeList<TMdxExpNode> arguments = null;
013    private IMdxIdentifierSegment functionSegment;
014    private EMdxExpSyntax   expSyntax;
015
016    public void  TMdxPropertyNode(){
017       arguments = new  TPTNodeList<TMdxExpNode> ();
018    }
019    public EMdxDataType getMdxDataType(){
020        return EMdxDataType.Member;
021    }
022
023    public void init(Object arg1, Object arg2,Object arg3){
024       //this.arguments =  (TPTNodeList<TMdxExpNode>) arg1;
025        getArguments().addElement((TMdxExpNode)arg1);
026       this.functionSegment = (IMdxIdentifierSegment)arg2;
027       this.expSyntax = (EMdxExpSyntax)arg3;
028    }
029
030    public String getFunctionName(){
031        return functionName;
032    };
033
034    public IMdxIdentifierSegment getFunctionSegment(){
035        return functionSegment;
036    };
037
038    public  TPTNodeList<TMdxExpNode> getArguments()
039    {
040        if (arguments == null){
041            arguments = new  TPTNodeList<TMdxExpNode> ();
042        }
043        return arguments;
044    };
045
046    public EMdxExpSyntax getExpSyntax(){
047        return expSyntax;
048    };
049
050    public void accept(TParseTreeVisitor v){
051        v.preVisit(this);
052        v.postVisit(this);
053    }
054
055    public void acceptChildren(TParseTreeVisitor v){
056        v.preVisit(this);
057        arguments.accept(v);
058        v.postVisit(this);
059    }
060}