001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.TBaseType;
004import gudusoft.gsqlparser.nodes.mssql.TMssqlCreateTriggerUpdateColumnList;
005
006
007public class TIfSqlNode extends TParseTreeNode {
008
009    private TStatementSqlNode stmtSqlNode = null;
010    private TStatementSqlNode elseStmtSqlNode = null;
011
012    private int stmtType = TBaseType.condition_statement_if;
013
014    public void setStmtType(int stmtType) {
015        this.stmtType = stmtType;
016    }
017
018    public int getStmtType() {
019        return stmtType;
020    }
021
022    private TExpression condition = null;
023
024    public TExpression getCondition() {
025        return condition;
026    }
027
028    public TMssqlCreateTriggerUpdateColumnList getUpdateColumnList() {
029        return updateColumnList;
030    }
031
032    private TMssqlCreateTriggerUpdateColumnList updateColumnList = null;
033
034    public void init(Object arg1){
035        if (arg1 instanceof TExpression ){
036            this.condition = (TExpression)arg1;
037        }else{
038            this.updateColumnList = (TMssqlCreateTriggerUpdateColumnList)arg1;
039        }
040
041    }
042    public void init(Object arg1,Object arg2){
043        init(arg1);
044        this.thenStmts = (TStatementListSqlNode)arg2;
045    }
046    public void init(Object arg1,Object arg2,Object arg3){
047
048        init(arg1);
049
050        if (arg2 != null){
051            if (arg2 instanceof TStatementSqlNode){
052                stmtSqlNode = (TStatementSqlNode)arg2;
053            }else if (arg2 instanceof TStatementListSqlNode){
054                this.thenStmts = (TStatementListSqlNode)arg2;
055            }
056        }
057
058        if (arg3 != null){
059            if (arg3 instanceof TStatementSqlNode){
060                elseStmtSqlNode = (TStatementSqlNode)arg3;
061            }else if (arg3 instanceof TStatementListSqlNode){
062                this.elseStmts = (TStatementListSqlNode)arg3;
063            }
064        }
065    }
066
067    public TStatementSqlNode getElseStmtSqlNode() {
068        return elseStmtSqlNode;
069    }
070
071    public TStatementSqlNode getStmtSqlNode() {
072        return stmtSqlNode;
073    }
074
075    private TStatementListSqlNode thenStmts = null; //db2
076    private TStatementListSqlNode elseStmts = null; //db2
077
078    public void setElseIfList(TElseIfSqlNodeList elseIfList) {
079        this.elseIfList = elseIfList;
080    }
081
082    public void setElseStmts(TStatementListSqlNode elseStmts) {
083        this.elseStmts = elseStmts;
084    }
085
086    public TElseIfSqlNodeList getElseIfList() {
087        return elseIfList;
088    }
089
090    public TStatementListSqlNode getElseStmts() {
091        return elseStmts;
092    }
093
094    public TStatementListSqlNode getThenStmts() {
095        return thenStmts;
096    }
097
098    private TElseIfSqlNodeList elseIfList = null; //db2
099
100    public void setThenStmts(TStatementListSqlNode thenStmts) {
101        this.thenStmts = thenStmts;
102    }
103
104    public TStatementListSqlNode getElsifStmts() {
105        return elsifStmts;
106    }
107
108    private TStatementListSqlNode elsifStmts = null;
109    public void setElsifStmts(TStatementListSqlNode elsifStmts) {
110        this.elsifStmts = elsifStmts;
111    }
112}