001package gudusoft.gsqlparser.stmt.oracle;
002
003
004import gudusoft.gsqlparser.EDbObjectType;
005import gudusoft.gsqlparser.EDbVendor;
006import gudusoft.gsqlparser.ESqlStatementType;
007import gudusoft.gsqlparser.TCustomSqlStatement;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010import gudusoft.gsqlparser.nodes.oracle.TOracleCreateLibrarySqlNode;
011
012public class TOracleCreateLibraryStmt extends TCustomSqlStatement {
013
014    private TObjectName libraryName;
015    private TObjectName fileName;
016    private TObjectName dbLink;
017    private boolean ifNotExists;
018    private TObjectName directoryObject;
019    private TObjectName credential;
020
021
022    public TOracleCreateLibraryStmt(EDbVendor dbvendor) {
023        super(dbvendor);
024        sqlstatementtype = ESqlStatementType.sstoraclecreatelibrary;
025    }
026
027    public TObjectName getDbLink() {
028        return dbLink;
029    }
030
031    public TObjectName getFileName() {
032        return fileName;
033    }
034
035    public TObjectName getLibraryName() {
036        return libraryName;
037    }
038
039    public boolean isIfNotExists() {
040        return ifNotExists;
041    }
042
043    public TObjectName getDirectoryObject() {
044        return directoryObject;
045    }
046
047    public TObjectName getCredential() {
048        return credential;
049    }
050
051    public int doParseStatement(TCustomSqlStatement psql) {
052        if (rootNode == null) return -1;
053        super.doParseStatement(psql);
054        TOracleCreateLibrarySqlNode node = (TOracleCreateLibrarySqlNode)rootNode;
055        libraryName = node.getLibraryName();
056        //libraryName.setObjectType(TObjectName.ttObjLibrary);
057        libraryName.setDbObjectType(EDbObjectType.library);
058        fileName = node.getFileName();
059        dbLink = node.getDbLink();
060        ifNotExists = node.isIfNotExists();
061        directoryObject = node.getDirectoryObject();
062        credential = node.getCredential();
063
064        return 0;
065    }
066
067    public void accept(TParseTreeVisitor v){
068        v.preVisit(this);
069        v.postVisit(this);
070    }
071
072    public void acceptChildren(TParseTreeVisitor v){
073        v.preVisit(this);
074        v.postVisit(this);
075    }
076
077    public void setLibraryName(TObjectName libraryName) {
078        this.libraryName = libraryName;
079    }
080
081    public void setFileName(TObjectName fileName) {
082        this.fileName = fileName;
083    }
084
085    public void setDbLink(TObjectName dbLink) {
086        this.dbLink = dbLink;
087    }
088
089    public void setIfNotExists(boolean ifNotExists) {
090        this.ifNotExists = ifNotExists;
091    }
092
093    public void setDirectoryObject(TObjectName directoryObject) {
094        this.directoryObject = directoryObject;
095    }
096
097    public void setCredential(TObjectName credential) {
098        this.credential = credential;
099    }
100}