public interface DocTreeFactory
创建
DocTree
节点的工厂。
- 实现说明:
-
此接口的实现方法只能接受由相同实现创建的
DocTree
节点。 - 自JDK版本:
- 9
-
Method Summary
Modifier and TypeMethodDescriptionat
(int pos) 设置要记录在此工厂创建的后续树节点中的位置。getFirstSentence
(List<? extends DocTree> list) 获取包含在内容列表中的第一个句子。newAttributeTree
(Name name, AttributeTree.ValueKind vkind, List<? extends DocTree> value) 创建一个新的AttributeTree
对象,表示HTML元素或标签中的属性。newAuthorTree
(List<? extends DocTree> name) 创建一个新的AuthorTree
对象,表示@author
标签。newCodeTree
(TextTree text) 创建一个新的LiteralTree
对象,表示{@code }
标签。newCommentTree
(String text) 创建一个新的CommentTree
对象,表示HTML注释。newDeprecatedTree
(List<? extends DocTree> text) 创建一个新的DeprecatedTree
对象,表示@deprecated
标签。newDocCommentTree
(List<? extends DocTree> fullBody, List<? extends DocTree> tags) 创建一个新的DocCommentTree
对象,表示完整的文档注释。newDocCommentTree
(List<? extends DocTree> fullBody, List<? extends DocTree> tags, List<? extends DocTree> preamble, List<? extends DocTree> postamble) 创建一个新的DocCommentTree
对象,表示整个文档注释。创建一个新的DocRootTree
对象,表示{@docRoot}
标签。newDocTypeTree
(String text) 创建一个新的DocTypeTree
对象,表示DOCTYPE
HTML声明。newEndElementTree
(Name name) 创建一个新的EndElement
对象,表示HTML元素的结束。newEntityTree
(Name name) 创建一个新的EntityTree
对象,表示HTML实体。newErroneousTree
(String text, Diagnostic<JavaFileObject> diag) 创建一个新的ErroneousTree
对象,表示一些无法解析的输入。newEscapeTree
(char ch) 创建一个新的EscapeTree
对象,表示转义字符。newExceptionTree
(ReferenceTree name, List<? extends DocTree> description) 创建一个新的ThrowsTree
对象,表示@exception
标签。newHiddenTree
(List<? extends DocTree> text) 创建一个新的HiddenTree
对象,表示@hidden
标签。newIdentifierTree
(Name name) 创建一个新的IdentifierTree
对象,表示标识符,例如在@param
标签中。newIndexTree
(DocTree term, List<? extends DocTree> description) 创建一个新的IndexTree
对象,表示{@index }
标签。创建一个新的InheritDocTree
对象,表示{@inheritDoc}
标签。newLinkPlainTree
(ReferenceTree ref, List<? extends DocTree> label) 创建一个新的LinkTree
对象,表示{@linkplain }
标签。newLinkTree
(ReferenceTree ref, List<? extends DocTree> label) 创建一个新的LinkTree
对象,表示{@link }
标签。newLiteralTree
(TextTree text) 创建一个新的LiteralTree
对象,表示{@literal }
标签。newParamTree
(boolean isTypeParameter, IdentifierTree name, List<? extends DocTree> description) 创建一个新的ParamTree
对象,表示@param
标签。newProvidesTree
(ReferenceTree name, List<? extends DocTree> description) 创建一个新的ProvidesTree
对象,表示@provides
标签。newReferenceTree
(String signature) 创建一个新的ReferenceTree
对象,表示对API元素的引用。default ReturnTree
newReturnTree
(boolean isInline, List<? extends DocTree> description) 创建一个新的ReturnTree
对象,表示@return
标签或{@return}
标签。newReturnTree
(List<? extends DocTree> description) 创建一个新的ReturnTree
对象,表示@return
标签。newSeeTree
(List<? extends DocTree> reference) 创建一个新的SeeTree
对象,表示@see
标签。newSerialDataTree
(List<? extends DocTree> description) 创建一个新的SerialDataTree
对象,表示@serialData
标签。newSerialFieldTree
(IdentifierTree name, ReferenceTree type, List<? extends DocTree> description) 创建一个新的SerialFieldTree
对象,表示@serialField
标签。newSerialTree
(List<? extends DocTree> description) 创建一个新的SerialTree
对象,表示@serial
标签。newSinceTree
(List<? extends DocTree> text) 创建一个新的SinceTree
对象,表示@since
标签。newSnippetTree
(List<? extends DocTree> attributes, TextTree text) 创建一个新的SnippetTree
对象,表示{@snippet }
标签。newSpecTree
(TextTree url, List<? extends DocTree> title) 创建一个新的SpecTree
对象,表示@spec
标签。newStartElementTree
(Name name, List<? extends DocTree> attrs, boolean selfClosing) 创建一个新的StartElementTree
对象,表示HTML元素的开始。default SummaryTree
newSummaryTree
(List<? extends DocTree> summary) 创建一个新的SummaryTree
对象,表示{@summary }
标签。newSystemPropertyTree
(Name propertyName) 创建一个新的SystemPropertyTree
对象,表示{@systemProperty }
标签。newTextTree
(String text) 创建一个新的TextTree
对象,表示一些纯文本。newThrowsTree
(ReferenceTree name, List<? extends DocTree> description) 创建一个新的ThrowsTree
对象,表示@throws
标签。newUnknownBlockTagTree
(Name name, List<? extends DocTree> content) 创建一个新的UnknownBlockTagTree
对象,表示无法识别的块标签。newUnknownInlineTagTree
(Name name, List<? extends DocTree> content) 创建一个新的UnknownInlineTagTree
对象,表示无法识别的内联标签。newUsesTree
(ReferenceTree name, List<? extends DocTree> description) 创建一个新的UsesTree
对象,表示@uses
标签。创建一个新的ValueTree
对象,表示{@value }
标签。default ValueTree
newValueTree
(TextTree format, ReferenceTree ref) 创建一个新的ValueTree
对象,表示{@value }
标签。newVersionTree
(List<? extends DocTree> text) 创建一个新的VersionTree
对象,表示{@version }
标签。
-
Method Details
-
newAttributeTree
AttributeTree newAttributeTree(Name name, AttributeTree.ValueKind vkind, List<? extends DocTree> value) 创建一个新的AttributeTree
对象,表示HTML元素或标签中的属性。- 参数:
-
name
- 属性的名称 -
vkind
- 属性值的类型 -
value
- 属性的值(如果有) - 返回:
-
一个
AttributeTree
对象
-
newAuthorTree
创建一个新的AuthorTree
对象,表示@author
标签。- 参数:
-
name
- 作者的名称 - 返回:
-
一个
AuthorTree
对象
-
newCodeTree
创建一个新的LiteralTree
对象,表示{@code }
标签。- 参数:
-
text
- 标签的内容 - 返回:
-
一个
LiteralTree
对象
-
newCommentTree
创建一个新的CommentTree
对象,表示HTML注释。- 参数:
-
text
- 注释的内容 - 返回:
-
一个
CommentTree
对象
-
newDeprecatedTree
创建一个新的DeprecatedTree
对象,表示@deprecated
标签。- 参数:
-
text
- 标签的内容 - 返回:
-
一个
DeprecatedTree
对象
-
newDocCommentTree
创建一个新的DocCommentTree
对象,表示完整的文档注释。- 参数:
-
fullBody
- 文档注释的整体内容 -
tags
- 文档注释中的块标签 - 返回:
-
一个
DocCommentTree
对象
-
newDocCommentTree
DocCommentTree newDocCommentTree(List<? extends DocTree> fullBody, List<? extends DocTree> tags, List<? extends DocTree> preamble, List<? extends DocTree> postamble) 创建一个新的DocCommentTree
对象,表示整个文档注释。- 参数:
-
fullBody
- 文档注释的整体内容 -
tags
- 文档注释中的块标签 -
preamble
- 包括body标签在内的html文件的元内容 -
postamble
- 包括闭合body标签在内的html的元内容 - 返回:
-
一个
DocCommentTree
对象 - 自JDK版本:
- 10
-
newDocRootTree
DocRootTree newDocRootTree()创建一个新的DocRootTree
对象,表示{@docRoot}
标签。- 返回:
-
一个
DocRootTree
对象
-
newDocTypeTree
创建一个新的DocTypeTree
对象,表示DOCTYPE
HTML声明。- 参数:
-
text
- 声明的内容 - 返回:
-
一个
DocTypeTree
对象 - 自JDK版本:
- 10
-
newEndElementTree
创建一个新的EndElement
对象,表示HTML元素的结束。- 参数:
-
name
- HTML元素的名称 - 返回:
-
一个
EndElementTree
对象
-
newEntityTree
创建一个新的EntityTree
对象,表示HTML实体。- 参数:
-
name
- 实体的名称,表示HTML文档中实体表示中'&'和';'之间的字符 - 返回:
-
一个
EntityTree
对象
-
newErroneousTree
创建一个新的ErroneousTree
对象,表示一些无法解析的输入。- 参数:
-
text
- 无法解析的文本 -
diag
- 与无法解析文本相关联的诊断,或null
- 返回:
-
一个
ErroneousTree
对象
-
newEscapeTree
创建一个新的EscapeTree
对象,表示转义字符。- API说明:
-
此方法本身不限制有效转义序列的集合,尽管该集合可能有效地限制为在标准Doclet的文档注释规范中定义的那些,包括以下上下文敏感的转义序列:
@@
,表示@
,在其他情况下会被视为引入块或内联标签,@/
,表示/
,作为*@/
的一部分,表示*/
,以及@*
,表示*
,在行首的空格后,否则会被丢弃。
- 参数:
-
ch
- 字符 - 返回:
-
一个
EscapeTree
对象 - 自JDK版本:
- 21
-
newExceptionTree
创建一个新的ThrowsTree
对象,表示@exception
标签。- 参数:
-
name
- 异常的名称 -
description
- 可能抛出异常的原因描述 - 返回:
-
一个
ThrowsTree
对象
-
newHiddenTree
创建一个新的HiddenTree
对象,用于表示一个@hidden
标签。- 参数:
-
text
- 标签的内容 - 返回:
-
一个
HiddenTree
对象
-
newIdentifierTree
创建一个新的IdentifierTree
对象,用于表示标识符,例如在@param
标签中。- 参数:
-
name
- 标识符的名称 - 返回:
-
一个
IdentifierTree
对象
-
newIndexTree
创建一个新的IndexTree
对象,用于表示一个{@index }
标签。- 参数:
-
term
- 搜索项 -
description
- 搜索项的可选描述 - 返回:
-
一个
IndexTree
对象
-
newInheritDocTree
InheritDocTree newInheritDocTree()创建一个新的InheritDocTree
对象,用于表示一个{@inheritDoc}
标签。- 返回:
-
一个
InheritDocTree
对象
-
newLinkTree
创建一个新的LinkTree
对象,用于表示一个{@link }
标签。- 参数:
-
ref
- 引用的API元素 -
label
- 链接的可选标签 - 返回:
-
一个
LinkTree
对象
-
newLinkPlainTree
创建一个新的LinkTree
对象,用于表示一个{@linkplain }
标签。- 参数:
-
ref
- 引用的API元素 -
label
- 链接的可选标签 - 返回:
-
一个
LinkTree
对象
-
newLiteralTree
创建一个新的LiteralTree
对象,用于表示一个{@literal }
标签。- 参数:
-
text
- 标签的内容 - 返回:
-
一个
LiteralTree
对象
-
newParamTree
ParamTree newParamTree(boolean isTypeParameter, IdentifierTree name, List<? extends DocTree> description) 创建一个新的ParamTree
对象,用于表示一个@param
标签。- 参数:
-
isTypeParameter
- 如果这是一个类型参数,则为true
,否则为false
-
name
- 描述的参数 -
description
- 参数的描述 - 返回:
-
一个
ParamTree
对象
-
newProvidesTree
创建一个新的ProvidesTree
对象,用于表示一个@provides
标签。- 参数:
-
name
- 服务类型的名称 -
description
- 提供的服务的描述 - 返回:
-
一个
ProvidesTree
对象
-
newReferenceTree
创建一个新的ReferenceTree
对象,用于表示对API元素的引用。- 参数:
-
signature
- 引用的文档注释签名 - 返回:
-
一个
ReferenceTree
对象
-
newReturnTree
创建一个新的ReturnTree
对象,用于表示一个@return
标签。- 参数:
-
description
- 方法返回值的描述 - 返回:
-
一个
ReturnTree
对象
-
newReturnTree
创建一个新的ReturnTree
对象,用于表示一个@return
标签或{@return}
标签。- 实现要求:
-
如果
isInline
为true
,则此实现会抛出UnsupportedOperationException
,否则会调用newReturnTree(List)
。 - 参数:
-
isInline
- 如果此实例作为内联标签,则为true
,否则为false
-
description
- 方法返回值的描述 - 返回:
-
一个
ReturnTree
对象 - 抛出:
-
UnsupportedOperationException
- 如果不支持内联{@return}
标签 - 自:
- 16
-
newSeeTree
创建一个新的SeeTree
对象,用于表示一个@see
标签。- 参数:
-
reference
- 引用 - 返回:
-
一个
SeeTree
对象
-
newSerialTree
创建一个新的SerialTree
对象,用于表示一个@serial
标签。- 参数:
-
description
- 标签的描述 - 返回:
-
一个
SerialTree
对象
-
newSerialDataTree
创建一个新的SerialDataTree
对象,用于表示一个@serialData
标签。- 参数:
-
description
- 标签的描述 - 返回:
-
一个
SerialDataTree
对象
-
newSerialFieldTree
SerialFieldTree newSerialFieldTree(IdentifierTree name, ReferenceTree type, List<? extends DocTree> description) 创建一个新的SerialFieldTree
对象,用于表示一个@serialField
标签。- 参数:
-
name
- 字段的名称 -
type
- 字段的类型 -
description
- 字段的描述 - 返回:
-
一个
SerialFieldTree
对象
-
newSinceTree
创建一个新的SinceTree
对象,用于表示一个@since
标签。- 参数:
-
text
- 标签的内容 - 返回:
-
一个
SinceTree
对象
-
newSnippetTree
创建一个新的SnippetTree
对象,用于表示一个{@snippet }
标签。- 参数:
-
attributes
- 标签的属性 -
text
- 标签的主体,如果标签没有主体则为null
(不要与空主体混淆) - 返回:
-
一个
SnippetTree
对象 - 自:
- 18
-
newSpecTree
创建一个新的SpecTree
对象,用于表示一个@spec
标签。- 参数:
-
url
- URL -
title
- 标题 - 返回:
-
一个
SpecTree
对象 - 自:
- 20
-
newStartElementTree
创建一个新的StartElementTree
对象,用于表示HTML元素的开始。- 参数:
-
name
- HTML元素的名称 -
attrs
- 属性 -
selfClosing
- 如果开始元素标记为自闭合则为true
;否则为false
- 返回:
-
一个
StartElementTree
对象
-
newSummaryTree
创建一个新的SummaryTree
对象,用于表示一个{@summary }
标签。- 实现要求:
-
此实现会抛出
UnsupportedOperationException
。 - 参数:
-
summary
- 标签的内容 - 返回:
-
一个
SummaryTree
对象 - 自:
- 10
-
newSystemPropertyTree
创建一个新的SystemPropertyTree
对象,用于表示一个{@systemProperty }
标签。- 参数:
-
propertyName
- 系统属性名称 - 返回:
-
一个
SystemPropertyTree
对象 - 自:
- 12
-
newTextTree
创建一个新的TextTree
对象,用于表示一些纯文本。- 参数:
-
text
- 文本 - 返回:
-
一个
TextTree
对象
-
newThrowsTree
创建一个新的ThrowsTree
对象,用于表示一个@throws
标签。- 参数:
-
name
- 异常的名称 -
description
- 可能抛出异常的描述 - 返回:
-
一个
ThrowsTree
对象
-
newUnknownBlockTagTree
创建一个新的UnknownBlockTagTree
对象,用于表示一个未识别的块标签。- 参数:
-
name
- 块标签的名称 -
content
- 内容 - 返回:
-
一个
UnknownBlockTagTree
对象
-
newUnknownInlineTagTree
创建一个新的UnknownInlineTagTree
对象,用于表示一个未识别的内联标签。- 参数:
-
name
- 内联标签的名称 -
content
- 内容 - 返回:
-
一个
UnknownInlineTagTree
对象
-
newUsesTree
创建一个新的UsesTree
对象,用于表示一个@uses
标签。- 参数:
-
name
- 服务类型的名称 -
description
- 服务的使用方式描述 - 返回:
-
一个
UsesTree
对象
-
newValueTree
创建一个新的ValueTree
对象,用于表示一个{@value }
标签。- 参数:
-
ref
- 值的引用 - 返回:
-
一个
ValueTree
对象
-
newValueTree
创建一个新的ValueTree
对象,用于表示一个{@value }
标签。- 实现要求:
-
此实现会调用
newValueTree(ref)
。 - 参数:
-
format
- 值的格式字符串 -
ref
- 值的引用 - 返回:
-
一个
ValueTree
对象 - 自:
- 20
-
newVersionTree
创建一个新的VersionTree
对象,用于表示一个{@version }
标签。- 参数:
-
text
- 标签的内容 - 返回:
-
一个
VersionTree
对象
-
at
设置此工厂创建的后续树节点中记录的位置。位置应该是相对于源文件开头的字符偏移量,或者NOPOS
。- 参数:
-
pos
- 位置 - 返回值:
- 此对象,以便支持方法链接
-
getFirstSentence
获取包含在内容列表中的第一个句子。第一个句子的确定是特定于实现的,可能涉及使用特定于区域设置的BreakIterator
和其他启发式方法。结果列表可能与输入列表共享一组共同的初始项。- 参数:
-
list
- 列表 - 返回值:
- 包含列表中第一个句子的列表
-