DocTrees
DocTrees (문서 주석 구문 트리 접근)
문서 주석(doc comment)의 구문 트리에 접근할 수 있게 해 주는 유틸리티 클래스입니다. Trees를 상속받아, 일반 소스 코드 트리뿐 아니라 javadoc 주석 트리까지 다루기 위한 메서드를 제공해요.
본문
DocTrees는 주로 javac 관련 기능을 구현할 때 사용하는 추상 클래스입니다. instance(JavaCompiler.CompilationTask)나 instance(ProcessingEnvironment) 같은 정적 메서드로 인스턴스를 얻을 수 있어요. 만약 전달한 작업/환경이 트리 API를 지원하지 않으면 IllegalArgumentException이 발생합니다.
문서 주석 트리 가져오기
문서 주석 트리를 얻는 방식은 입력에 따라 여러 가지예요.
-
getDocCommentTree(TreePath path)— 주어진TreePath가 가리키는 트리 노드에 연결된 문서 주석 트리를 반환해요. 없으면null입니다. 같은 인자로 반복 호출하면 같은 인스턴스를 돌려줍니다. -
getDocCommentTree(Element e)— 주어진 언어 모델 요소의 문서 주석 트리를 반환합니다. -
getDocCommentTree(FileObject fileObject)— 주어진 파일의 문서 주석 트리를 반환해요. 파일은 HTML 파일이어야 하며, 이 경우 문서 주석 트리가 파일 전체 내용을 나타냅니다. -
getDocCommentTree(Element e, String relativePath)— 주어진 요소를 기준으로 한 상대 경로의 HTML 파일에서 문서 트리를 읽습니다.IOException을 던질 수 있어요. -
getDocTreePath(FileObject fileObject, PackageElement packageElement)— HTML 파일에서 파싱한 문서 주석이 포함된 경로를 반환합니다.
요소와 타입 알아내기
-
getElement(DocTreePath path)—DocTreePath의 잎 노드가 가리키는 언어 모델 요소를 반환하고, 모르면null이에요. -
getType(DocTreePath path)— 잎 노드가 가리키는 타입을 반환합니다. 원시 타입 대신 매개변수화된 제네릭 타입처럼 추가 정보를 담은 타입을 돌려줄 수도 있어요.
그 외 유틸리티
-
getFirstSentence(List<? extends DocTree> list)— 주석의 첫 문장을 나타내는DocTree목록을 반환해요. 첫 문장 계산에는BreakIterator가 사용되며,getBreakIterator()/setBreakIterator(...)로 조회하고 설정할 수 있어요. -
getDocTreeFactory()—DocTree객체를 만들기 위한DocTreeFactory유틸리티를 반환합니다. -
getSourcePositions()— 문서 트리 노드의 소스 위치에 접근할 수 있는DocSourcePositions객체를 돌려줍니다. -
printMessage(Diagnostic.Kind kind, CharSequence msg, DocTree t, DocCommentTree c, CompilationUnitTree root)— 주어진 컴파일 단위에서 트리가 위치한 지점에 지정한 종류의 메시지를 출력해요. -
getCharacters(EntityTree tree)— 주어진 엔티티 트리가 나타내는 문자를 담은 문자열을 반환합니다. HTML 5.2 명세의 문자 참조 방식을 따르며, 유효하지 않으면null이에요.