public interface DocTreeFactory
Factory for creating
DocTree
nodes.- Implementation Note:
- The methods in an implementation of this interface may only accept
DocTree
nodes that have been created by the same implementation. - Since:
- 9
-
Method Summary
Modifier and Type Method Description DocTreeFactory
at(int pos)
Set the position to be recorded in subsequent tree nodes created by this factory.List<DocTree>
getFirstSentence(List<? extends DocTree> list)
Get the first sentence contained in a list of content.AttributeTree
newAttributeTree(Name name, AttributeTree.ValueKind vkind, List<? extends DocTree> value)
Create a newAttributeTree
object, to represent an HTML attribute in an HTML tag.AuthorTree
newAuthorTree(List<? extends DocTree> name)
Create a newAuthorTree
object, to represent an{@author }
tag.LiteralTree
newCodeTree(TextTree text)
Create a newCodeTree
object, to represent a{@code }
tag.CommentTree
newCommentTree(String text)
Create a newCommentTree
, to represent an HTML comment.DeprecatedTree
newDeprecatedTree(List<? extends DocTree> text)
Create a newDeprecatedTree
object, to represent an{@deprecated }
tag.DocCommentTree
newDocCommentTree(List<? extends DocTree> fullBody, List<? extends DocTree> tags)
Create a newDocCommentTree
object, to represent a complete doc comment.DocCommentTree
newDocCommentTree(List<? extends DocTree> fullBody, List<? extends DocTree> tags, List<? extends DocTree> preamble, List<? extends DocTree> postamble)
Create a newDocCommentTree
object, to represent the enitire doc comment.DocRootTree
newDocRootTree()
Create a newDocRootTree
object, to represent an{@docroot}
tag.DocTypeTree
newDocTypeTree(String text)
Create a newDocTypeTree
, to represent aDOCTYPE
HTML declaration.EndElementTree
newEndElementTree(Name name)
Create a newEndElement
object, to represent the end of an HTML element.EntityTree
newEntityTree(Name name)
Create a newEntityTree
object, to represent an HTML entity.ErroneousTree
newErroneousTree(String text, Diagnostic<JavaFileObject> diag)
Create a newErroneousTree
object, to represent some unparseable input.ThrowsTree
newExceptionTree(ReferenceTree name, List<? extends DocTree> description)
Create a newExceptionTree
object, to represent an@exception
tag.HiddenTree
newHiddenTree(List<? extends DocTree> text)
Create a newHiddenTree
object, to represent an{@hidden }
tag.IdentifierTree
newIdentifierTree(Name name)
Create a newIdentifierTree
object, to represent an identifier, such as in a@param
tag.IndexTree
newIndexTree(DocTree term, List<? extends DocTree> description)
Create a newIndexTree
object, to represent an{@index }
tag.InheritDocTree
newInheritDocTree()
Create a newInheritDocTree
object, to represent an{@inheritDoc}
tag.LinkTree
newLinkPlainTree(ReferenceTree ref, List<? extends DocTree> label)
Create a newLinkPlainTree
object, to represent a{@linkplain }
tag.LinkTree
newLinkTree(ReferenceTree ref, List<? extends DocTree> label)
Create a newLinkTree
object, to represent a{@link }
tag.LiteralTree
newLiteralTree(TextTree text)
Create a newLiteralTree
object, to represent a{@literal }
tag.ParamTree
newParamTree(boolean isTypeParameter, IdentifierTree name, List<? extends DocTree> description)
Create a newParamTree
object, to represent a@param
tag.ProvidesTree
newProvidesTree(ReferenceTree name, List<? extends DocTree> description)
Create a newProvidesTree
object, to represent a@provides
tag.ReferenceTree
newReferenceTree(String signature)
Create a newReferenceTree
object, to represent a reference to an API element.ReturnTree
newReturnTree(List<? extends DocTree> description)
Create a newReturnTree
object, to represent a@return
tag.SeeTree
newSeeTree(List<? extends DocTree> reference)
Create a newSeeTree
object, to represent a@see
tag.SerialDataTree
newSerialDataTree(List<? extends DocTree> description)
Create a newSerialDataTree
object, to represent a@serialData
tag.SerialFieldTree
newSerialFieldTree(IdentifierTree name, ReferenceTree type, List<? extends DocTree> description)
Create a newSerialFieldTree
object, to represent a@serialField
tag.SerialTree
newSerialTree(List<? extends DocTree> description)
Create a newSerialTree
object, to represent a@serial
tag.SinceTree
newSinceTree(List<? extends DocTree> text)
Create a newSinceTree
object, to represent a@since
tag.StartElementTree
newStartElementTree(Name name, List<? extends DocTree> attrs, boolean selfClosing)
Create a newStartElementTree
object, to represent the start of an HTML element.default SummaryTree
newSummaryTree(List<? extends DocTree> summary)
Create a newSummaryTree
object, to represent a@summary
tag.SystemPropertyTree
newSystemPropertyTree(Name propertyName)
Create a newSystemPropertyTree
object, to represent a{@systemProperty }
tag.TextTree
newTextTree(String text)
Create a newTextTree
object, to represent some plain text.ThrowsTree
newThrowsTree(ReferenceTree name, List<? extends DocTree> description)
Create a newThrowsTree
object, to represent a@throws
tag.UnknownBlockTagTree
newUnknownBlockTagTree(Name name, List<? extends DocTree> content)
Create a newUnknownBlockTagTree
object, to represent an unrecognized block tag.UnknownInlineTagTree
newUnknownInlineTagTree(Name name, List<? extends DocTree> content)
Create a newUnknownInlineTagTree
object, to represent an unrecognized inline tag.UsesTree
newUsesTree(ReferenceTree name, List<? extends DocTree> description)
Create a newUsesTree
object, to represent a@uses
tag.ValueTree
newValueTree(ReferenceTree ref)
Create a newValueTree
object, to represent a{@value }
tag.VersionTree
newVersionTree(List<? extends DocTree> text)
Create a newVersionTree
object, to represent a{@version }
tag.
-
Method Details
-
newAttributeTree
AttributeTree newAttributeTree(Name name, AttributeTree.ValueKind vkind, List<? extends DocTree> value)Create a newAttributeTree
object, to represent an HTML attribute in an HTML tag.- Parameters:
name
- the name of the attributevkind
- the kind of attribute valuevalue
- the value, if any, of the attribute- Returns:
- an
AttributeTree
object
-
newAuthorTree
Create a newAuthorTree
object, to represent an{@author }
tag.- Parameters:
name
- the name of the author- Returns:
- an
AuthorTree
object
-
newCodeTree
Create a newCodeTree
object, to represent a{@code }
tag.- Parameters:
text
- the content of the tag- Returns:
- a
CodeTree
object
-
newCommentTree
Create a newCommentTree
, to represent an HTML comment.- Parameters:
text
- the content of the comment- Returns:
- a
CommentTree
object
-
newDeprecatedTree
Create a newDeprecatedTree
object, to represent an{@deprecated }
tag.- Parameters:
text
- the content of the tag- Returns:
- a
DeprecatedTree
object
-
newDocCommentTree
Create a newDocCommentTree
object, to represent a complete doc comment.- Parameters:
fullBody
- the entire body of the doc commenttags
- the block tags in the doc comment- Returns:
- a
DocCommentTree
object
-
newDocCommentTree
DocCommentTree newDocCommentTree(List<? extends DocTree> fullBody, List<? extends DocTree> tags, List<? extends DocTree> preamble, List<? extends DocTree> postamble)Create a newDocCommentTree
object, to represent the enitire doc comment.- Parameters:
fullBody
- the entire body of the doc commenttags
- the block tags in the doc commentpreamble
- the meta content of an html file including the body tagpostamble
- the meta content of an html including the closing body tag- Returns:
- a
DocCommentTree
object - Since:
- 10
-
newDocRootTree
DocRootTree newDocRootTree()Create a newDocRootTree
object, to represent an{@docroot}
tag.- Returns:
- a
DocRootTree
object
-
newDocTypeTree
Create a newDocTypeTree
, to represent aDOCTYPE
HTML declaration.- Parameters:
text
- the content of the declaration- Returns:
- a
CommentTree
object - Since:
- 10
-
newEndElementTree
Create a newEndElement
object, to represent the end of an HTML element.- Parameters:
name
- the name of the HTML element- Returns:
- an
EndElementTree
object
-
newEntityTree
Create a newEntityTree
object, to represent an HTML entity.- Parameters:
name
- the name of the entity, representing the characters between '<' and ';' in the representation of the entity in an HTML document- Returns:
- an
EntityTree
object
-
newErroneousTree
Create a newErroneousTree
object, to represent some unparseable input.- Parameters:
text
- the unparseable textdiag
- a diagnostic associated with the unparseable text, or null- Returns:
- an
ErroneousTree
object
-
newExceptionTree
Create a newExceptionTree
object, to represent an@exception
tag.- Parameters:
name
- the name of the exceptiondescription
- a description of why the exception might be thrown- Returns:
- an
ExceptionTree
object
-
newHiddenTree
Create a newHiddenTree
object, to represent an{@hidden }
tag.- Parameters:
text
- the content of the tag- Returns:
- a
HiddenTree
object
-
newIdentifierTree
Create a newIdentifierTree
object, to represent an identifier, such as in a@param
tag.- Parameters:
name
- the name of the identifier- Returns:
- an
IdentifierTree
object
-
newIndexTree
Create a newIndexTree
object, to represent an{@index }
tag.- Parameters:
term
- the search termdescription
- an optional description of the search term- Returns:
- an
IndexTree
object
-
newInheritDocTree
InheritDocTree newInheritDocTree()Create a newInheritDocTree
object, to represent an{@inheritDoc}
tag.- Returns:
- an
InheritDocTree
object
-
newLinkTree
Create a newLinkTree
object, to represent a{@link }
tag.- Parameters:
ref
- the API element being referencedlabel
- an optional label for the link- Returns:
- a
LinkTree
object
-
newLinkPlainTree
Create a newLinkPlainTree
object, to represent a{@linkplain }
tag.- Parameters:
ref
- the API element being referencedlabel
- an optional label for the link- Returns:
- a
LinkPlainTree
object
-
newLiteralTree
Create a newLiteralTree
object, to represent a{@literal }
tag.- Parameters:
text
- the content of the tag- Returns:
- a
LiteralTree
object
-
newParamTree
ParamTree newParamTree(boolean isTypeParameter, IdentifierTree name, List<? extends DocTree> description)Create a newParamTree
object, to represent a@param
tag.- Parameters:
isTypeParameter
- true if this is a type parameter, and false otherwisename
- the parameter being describeddescription
- the description of the parameter- Returns:
- a
ParamTree
object
-
newProvidesTree
Create a newProvidesTree
object, to represent a@provides
tag.- Parameters:
name
- the name of the service typedescription
- a description of the service being provided- Returns:
- a
ProvidesTree
object
-
newReferenceTree
Create a newReferenceTree
object, to represent a reference to an API element.- Parameters:
signature
- the doc comment signature of the reference- Returns:
- a
ReferenceTree
object
-
newReturnTree
Create a newReturnTree
object, to represent a@return
tag.- Parameters:
description
- the description of the return value of a method- Returns:
- a
ReturnTree
object
-
newSeeTree
Create a newSeeTree
object, to represent a@see
tag.- Parameters:
reference
- the reference- Returns:
- a
SeeTree
object
-
newSerialTree
Create a newSerialTree
object, to represent a@serial
tag.- Parameters:
description
- the description for the tag- Returns:
- a
SerialTree
object
-
newSerialDataTree
Create a newSerialDataTree
object, to represent a@serialData
tag.- Parameters:
description
- the description for the tag- Returns:
- a
SerialDataTree
object
-
newSerialFieldTree
SerialFieldTree newSerialFieldTree(IdentifierTree name, ReferenceTree type, List<? extends DocTree> description)Create a newSerialFieldTree
object, to represent a@serialField
tag.- Parameters:
name
- the name of the fieldtype
- the type of the fielddescription
- the description of the field- Returns:
- a
SerialFieldTree
object
-
newSinceTree
Create a newSinceTree
object, to represent a@since
tag.- Parameters:
text
- the content of the tag- Returns:
- a
SinceTree
object
-
newStartElementTree
StartElementTree newStartElementTree(Name name, List<? extends DocTree> attrs, boolean selfClosing)Create a newStartElementTree
object, to represent the start of an HTML element.- Parameters:
name
- the name of the HTML elementattrs
- the attributesselfClosing
- true if the start element is marked as self-closing; otherwise false- Returns:
- a
StartElementTree
object
-
newSummaryTree
Create a newSummaryTree
object, to represent a@summary
tag.- Implementation Requirements:
- This implementation throws
UnsupportedOperationException
. - Parameters:
summary
- the content of the tag- Returns:
- a
SummaryTree
object - Since:
- 10
-
newSystemPropertyTree
Create a newSystemPropertyTree
object, to represent a{@systemProperty }
tag.- Parameters:
propertyName
- the system property name- Returns:
- a
SystemPropertyTree
object - Since:
- 12
-
newTextTree
Create a newTextTree
object, to represent some plain text.- Parameters:
text
- the text- Returns:
- a
TextTree
object
-
newThrowsTree
Create a newThrowsTree
object, to represent a@throws
tag.- Parameters:
name
- the name of the exceptiondescription
- a description of why the exception might be thrown- Returns:
- a
ThrowsTree
object
-
newUnknownBlockTagTree
Create a newUnknownBlockTagTree
object, to represent an unrecognized block tag.- Parameters:
name
- the name of the block tagcontent
- the content- Returns:
- an
UnknownBlockTagTree
object
-
newUnknownInlineTagTree
Create a newUnknownInlineTagTree
object, to represent an unrecognized inline tag.- Parameters:
name
- the name of the inline tagcontent
- the content- Returns:
- an
UnknownInlineTagTree
object
-
newUsesTree
Create a newUsesTree
object, to represent a@uses
tag.- Parameters:
name
- the name of the service typedescription
- a description of how the service will be used- Returns:
- a
UsesTree
object
-
newValueTree
Create a newValueTree
object, to represent a{@value }
tag.- Parameters:
ref
- a reference to the value- Returns:
- a
ValueTree
object
-
newVersionTree
Create a newVersionTree
object, to represent a{@version }
tag.- Parameters:
text
- the content of the tag- Returns:
- a
VersionTree
object
-
at
Set the position to be recorded in subsequent tree nodes created by this factory. The position should be a character offset relative to the beginning of the source file orNOPOS
.- Parameters:
pos
- the position- Returns:
- this object, to facilitate method chaining
-
getFirstSentence
Get the first sentence contained in a list of content. The determination of the first sentence is implementation specific, and may involve the use of a locale-specificBreakIterator
and other heuristics. The resulting list may share a common set of initial items with the input list.- Parameters:
list
- the list- Returns:
- a list containing the first sentence of the list.
-