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}