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