001package gudusoft.gsqlparser.stmt.mssql; 002 003import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.nodes.TDummy; 005import gudusoft.gsqlparser.nodes.TObjectName; 006import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 007 008import java.util.Arrays; 009import java.util.List; 010 011public class TCreateExternalDataSourceStmt extends TCustomSqlStatement { 012 013 public TCreateExternalDataSourceStmt (EDbVendor dbvendor){ 014 super(dbvendor); 015 sqlstatementtype = ESqlStatementType.sstmssqlcreateevexternalDataSource ; 016 } 017 018 private TObjectName dataSourceName; 019 020 private List<String> optionList = null; 021 public List<String> getOptionNames(){ 022 return TBaseType.getOptionNames(optionList); 023 } 024 public String getOption(String optionName){ 025 return TBaseType.getOption(optionList,optionName); 026 } 027 028 public TObjectName getDataSourceName() { 029 return dataSourceName; 030 } 031 032 public int doParseStatement(TCustomSqlStatement psql) { 033 if (rootNode == null) return -1; 034 TDummy dummy = (TDummy)rootNode; 035 dataSourceName = (TObjectName) dummy.node1; 036 optionList = TBaseType.getArrayListBetweenTokens(dummy.st1,dummy.st2,false); 037 return 0; 038 } 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}