001package gudusoft.gsqlparser.nodes.dax;
002
003
004import gudusoft.gsqlparser.ESqlClause;
005import gudusoft.gsqlparser.TCustomSqlStatement;
006import gudusoft.gsqlparser.TSourceToken;
007import gudusoft.gsqlparser.nodes.TExpression;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeNode;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011
012public class TDaxVar extends TParseTreeNode {
013    private TObjectName variableName = null;
014    private TExpression valueExpr;
015    private TObjectName measureName = null;
016
017    public void setMeasureName(TObjectName measureName) {
018        this.measureName = measureName;
019    }
020
021    public TObjectName getMeasureName() {
022
023        return measureName;
024    }
025
026    public TObjectName getVariableName() {
027        return variableName;
028    }
029
030    public TExpression getValueExpr() {
031        return valueExpr;
032    }
033
034    public void setVariableName(TObjectName variableName) {
035        this.variableName = variableName;
036    }
037
038    public void setValueExpr(TExpression valueExpr) {
039        this.valueExpr = valueExpr;
040    }
041
042    public void  init(Object arg1, Object arg2,Object arg3){
043        TSourceToken token = (TSourceToken)arg1;
044        if (token.toString().equalsIgnoreCase("var")){
045            variableName = (TObjectName)arg2;
046        }else{
047            measureName = (TObjectName)arg2;
048        }
049
050        valueExpr = (TExpression)arg3;
051    }
052
053    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
054      valueExpr.doParse(psql, plocation);
055    }
056
057    public void accept(TParseTreeVisitor v){
058        v.preVisit(this);
059        v.postVisit(this);
060    }
061
062    public void acceptChildren(TParseTreeVisitor v) {
063        v.preVisit(this);
064        v.postVisit(this);
065    }
066
067}