001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.nodes.*;
004
005/**
006 * Internal used by parser.
007 */
008public class TExecImmeNode extends TParseTreeNode {
009    private TExpression dynamicStringExpr = null;
010    private TBindArgumentList bindArguments = null;
011    private TExpressionList intoVariables = null;
012    private TObjectNameList returnNames = null;
013
014    /**
015     *
016     * @return bind arguments in using clause.
017     */
018    public TBindArgumentList getBindArguments() {
019        return bindArguments;
020    }
021
022    /**
023     * 
024     * @return   A string literal, string variable, or string expression that represents any SQL statement.
025     */
026    public TExpression getDynamicStringExpr() {
027        return dynamicStringExpr;
028    }
029
030    /**
031     *
032     * @return variable names in the into clause.
033     */
034    public TExpressionList getIntoVariables() {
035        return intoVariables;
036    }
037
038    /**
039     * 
040     * Used if and only if dynamic_sql_stmt has a RETURNING INTO clause, this clause
041     * returns the column values of the rows affected by dynamic_sql_stmt, in either
042     * individual variables or records
043     *
044     * @return
045     */
046    public TObjectNameList getReturnNames() {
047        return returnNames;
048    }
049
050    public void init(Object arg1)
051    {
052        dynamicStringExpr = (TExpression)arg1;
053    }
054
055    public void init(Object arg1,Object arg2,Object arg3,Object arg4)
056    {
057        init(arg1);
058        if (arg2 != null){
059             intoVariables = (TExpressionList)((TDummy)arg2).list1;
060        }
061
062        if (arg3 != null){
063           bindArguments = (TBindArgumentList)((TDummy)arg3).list1;
064        }
065
066        if (arg4 != null){
067           returnNames = (TObjectNameList)((TDummy)arg4).list1;
068        }
069    }
070
071    public void setDynamicStringExpr(TExpression dynamicStringExpr) {
072        this.dynamicStringExpr = dynamicStringExpr;
073    }
074
075    public void setBindArguments(TBindArgumentList bindArguments) {
076        this.bindArguments = bindArguments;
077    }
078
079    public void setIntoVariables(TExpressionList intoVariables) {
080        this.intoVariables = intoVariables;
081    }
082
083    public void setReturnNames(TObjectNameList returnNames) {
084        this.returnNames = returnNames;
085    }
086}