001package gudusoft.gsqlparser.stmt.oracle;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TExecuteSqlNode;
008import gudusoft.gsqlparser.nodes.TExpressionList;
009import gudusoft.gsqlparser.nodes.TObjectName;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011
012public class TOracleExecuteProcedure extends TCustomSqlStatement {
013
014    public TOracleExecuteProcedure(EDbVendor dbvendor) {
015        super(dbvendor);
016        sqlstatementtype = ESqlStatementType.sstoracleexecuteprocedure;
017    }
018
019    public int doParseStatement(TCustomSqlStatement psql) {
020        if (rootNode == null) return -1;
021        super.doParseStatement(psql);
022        TExecuteSqlNode sqlNode = (TExecuteSqlNode)rootNode;
023        this.procedureName = sqlNode.getModuleName();
024        this.procedureParameters = sqlNode.getStringValues();
025        return 0;
026    }
027
028    private TObjectName procedureName;
029
030    public TObjectName getProcedureName() {
031        return procedureName;
032    }
033
034    public TExpressionList getProcedureParameters() {
035        return procedureParameters;
036    }
037
038    private TExpressionList procedureParameters;
039
040    public void accept(TParseTreeVisitor v){
041        v.preVisit(this);
042        v.postVisit(this);
043    }
044
045    public void acceptChildren(TParseTreeVisitor v){
046        v.preVisit(this);
047        v.postVisit(this);
048    }
049
050    public void setProcedureName(TObjectName procedureName) {
051        this.procedureName = procedureName;
052    }
053
054    public void setProcedureParameters(TExpressionList procedureParameters) {
055        this.procedureParameters = procedureParameters;
056    }
057}