DocTreePathScanner
DocTreePathScanner (문서 트리 경로 추적 스캐너)
모든 자식 트리 노드를 방문하면서, 부모 노드들의 경로를 계속 유지해 주는 DocTreeVisitor 구현 클래스입니다. 문서 주석 트리를 순회할 때 현재 위치의 경로 정보를 함께 알고 싶다면 이 클래스를 상속받아 사용합니다.
본문
DocTreeScanner를 상속받아 동작하며, 기본 순회 기능에 '현재 경로 추적' 능력을 더한 형태예요. 특정 타입의 노드를 방문하고 싶으면 DocTreeVisitor가 정의한 visitXXX 메서드를 오버라이드하면 되고, 그 메서드 안에서 super.visitXXX를 호출하면 하위 노드들까지 이어서 방문합니다.
이렇게 스캔을 진행하면서 스캐너는 지금 어느 노드를 보고 있는지 경로(DocTreePath)를 계속 갱신해 주기 때문에, 중첩 구조 안에서 지금 위치가 어디인지 항상 알 수 있어요. 문서 주석 트리를 탐색하면서 부모-자식 관계가 필요할 때 특히 유용합니다.
제네릭 타입 매개변수가 두 개 있는데, R은 방문자 메서드의 반환 타입이고 P는 방문자 메서드에 추가로 전달할 매개변수 타입입니다. 결과나 매개변수가 필요 없다면 둘 다 Void를 쓰면 돼요.
생성자
DocTreePathScanner()— 빈 경로 추적 스캐너를 생성합니다.
주요 메서드
-
scan(DocTreePath path, P p)— 트리 경로로 식별되는 위치에서부터 트리를 스캔해요. -
scan(DocTree tree, P p)— 단일 노드를 스캔합니다. 스캔이 진행되는 동안 현재 경로가 갱신돼요. -
getCurrentPath()— 현재 활성화된scan호출들에 의해 만들어진, 노드의 현재 경로를 반환합니다.