001package gudusoft.gsqlparser.dlineage.statistics;
002
003import gudusoft.gsqlparser.ETableSource;
004import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
005import gudusoft.gsqlparser.nodes.TTable;
006
007import java.util.HashSet;
008import java.util.Set;
009
010/**
011 * 表引用访问者
012 */
013public class TableReferenceVisitor extends TParseTreeVisitor {
014    private Set<String> tableReferences = new HashSet<>();
015
016    public void preVisit(TTable node) {
017        if (node.getTableName() != null && ETableSource.objectname.equals(node.getTableType())) {
018            tableReferences.add(node.getTableName().toString());
019        }
020    }
021
022    public Set<String> getTableReferences() {
023        return tableReferences;
024    }
025    
026    public void reset() {
027        tableReferences.clear();
028    }
029}