001package gudusoft.gsqlparser.stmt.mssql;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TDropDbObjectSqlNode;
005import gudusoft.gsqlparser.nodes.TObjectName;
006import gudusoft.gsqlparser.nodes.TObjectNameList;
007import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
008
009public class TMssqlDropDbObject extends TCustomSqlStatement {
010     public TMssqlDropDbObject (EDbVendor dbvendor){
011        super(dbvendor);
012        sqlstatementtype = ESqlStatementType.sstmssqldropdbobject ;
013        }
014
015    void buildsql() {
016    }
017
018    void clear() {
019    }
020
021    String getasprettytext() {
022        return "";
023    }
024
025    void iterate(TVisitorAbs pvisitor) {
026    }
027
028     private TObjectNameList objectNameList = null;
029
030    public TObjectNameList getObjectNameList() {
031        return objectNameList;
032    }
033
034    private EDbObjectType dbObjectType;
035
036
037    public EDbObjectType getDbObjectType() {
038
039        return dbObjectType;
040    }
041
042    public    int doParseStatement(TCustomSqlStatement psql) {
043        if (rootNode == null) return -1;
044        super.doParseStatement(psql);
045        if (rootNode instanceof TDropDbObjectSqlNode){
046            // don't parse sql when root node is type of TMssqlStmtStubSqlNode
047            TDropDbObjectSqlNode dropDbObjectNode = (TDropDbObjectSqlNode)rootNode;
048            this.objectNameList = dropDbObjectNode.getObjectNameList();
049            if (objectNameList != null){
050                for(int i=0;i<objectNameList.size();i++){
051                    objectNameList.getObjectName(0).setObjectType(TObjectName.ttobjTable);
052                }
053            }
054            this.dbObjectType = dropDbObjectNode.getDbObjectType();
055        }
056        return 0;
057    }
058
059    public void accept(TParseTreeVisitor v){
060        v.preVisit(this);
061        v.postVisit(this);
062    }
063
064    public void acceptChildren(TParseTreeVisitor v){
065        v.preVisit(this);
066        v.postVisit(this);
067    }
068
069    public void setObjectNameList(TObjectNameList objectNameList) {
070        this.objectNameList = objectNameList;
071    }
072
073    public void setDbObjectType(EDbObjectType dbObjectType) {
074        this.dbObjectType = dbObjectType;
075    }
076}