001package gudusoft.gsqlparser.util; 002 003import gudusoft.gsqlparser.TCustomSqlStatement; 004import gudusoft.gsqlparser.nodes.TObjectName; 005import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 006 007import java.util.ArrayList; 008 009public class THelp { 010 011 public static ArrayList<TObjectName> getObjectNames(TCustomSqlStatement sqlStatement){ 012 ArrayList<TObjectName> columns = new ArrayList<>(); 013 columnVisitor visitor = new columnVisitor(); 014 visitor.setColumns(columns); 015 sqlStatement.acceptChildren(visitor); 016 return visitor.getColumns() ; 017 } 018 019} 020 021class columnVisitor extends TParseTreeVisitor { 022 ArrayList<TObjectName> columns; 023 024 public void setColumns(ArrayList<TObjectName> columns) { 025 this.columns = columns; 026 } 027 028 public ArrayList<TObjectName> getColumns() { 029 return columns; 030 } 031 032 public void preVisit(TObjectName node){ 033 switch (node.getDbObjectType()){ 034 case column: 035 columns.add(node); 036 break; 037 default: 038 break; 039 } 040 } 041} 042