001package gudusoft.gsqlparser.stmt.oracle;
002
003import gudusoft.gsqlparser.TCustomSqlStatement;
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.nodes.TCreateDirectorySqlNode;
007import gudusoft.gsqlparser.nodes.TObjectName;
008import gudusoft.gsqlparser.nodes.TConstant;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010
011public class TOracleCreateDirectoryStmt extends TCustomOracleSqlStmt {
012
013    public TOracleCreateDirectoryStmt(EDbVendor dbvendor) {
014        super(dbvendor);
015        sqlstatementtype = ESqlStatementType.sstoraclecreatedirectory;
016    }
017
018    public int doParseStatement(TCustomSqlStatement psql) {
019        if (rootNode == null) return -1;
020        super.doParseStatement(psql);
021        TCreateDirectorySqlNode node = (TCreateDirectorySqlNode)rootNode;
022        this.directoryName = node.getDirectoryName();
023        this.path  = node.getPath();
024
025        return 0;
026    }
027
028    private TObjectName directoryName = null;
029    private TConstant path = null;
030
031    public TObjectName getDirectoryName() {
032        return directoryName;
033    }
034
035    public TConstant getPath() {
036        return path;
037    }
038
039    public void accept(TParseTreeVisitor v){
040        v.preVisit(this);
041        v.postVisit(this);
042    }
043
044    public void acceptChildren(TParseTreeVisitor v){
045        v.preVisit(this);
046        v.postVisit(this);
047    }
048
049    public void setDirectoryName(TObjectName directoryName) {
050        this.directoryName = directoryName;
051    }
052
053    public void setPath(TConstant path) {
054        this.path = path;
055    }
056}