-
public interface DocTreeFactory
Factory for creatingDocTree
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
All Methods Instance Methods Abstract Methods Default Methods 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.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 Detail
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
AuthorTree newAuthorTree(List<? extends DocTree> name)
Create a newAuthorTree
object, to represent an{@author }
tag.- Parameters:
name
- the name of the author- Returns:
-
an
AuthorTree
object
newCodeTree
LiteralTree newCodeTree(TextTree text)
Create a newCodeTree
object, to represent a{@code }
tag.- Parameters:
text
- the content of the tag- Returns:
-
a
CodeTree
object
newCommentTree
CommentTree newCommentTree(String text)
Create a newCommentTree
, to represent an HTML comment.- Parameters:
text
- the content of the comment- Returns:
-
a
CommentTree
object
newDeprecatedTree
DeprecatedTree newDeprecatedTree(List<? extends DocTree> text)
Create a newDeprecatedTree
object, to represent an{@deprecated }
tag.- Parameters:
text
- the content of the tag- Returns:
-
a
DeprecatedTree
object
newDocCommentTree
DocCommentTree newDocCommentTree(List<? extends DocTree> fullBody, List<? extends DocTree> tags)
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
DocTypeTree newDocTypeTree(String text)
Create a newDocTypeTree
, to represent aDOCTYPE
HTML declaration.- Parameters:
text
- the content of the declaration- Returns:
-
a
CommentTree
object - Since:
- 10
newEndElementTree
EndElementTree newEndElementTree(Name name)
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
EntityTree newEntityTree(Name name)
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
ErroneousTree newErroneousTree(String text, Diagnostic<JavaFileObject> diag)
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
ThrowsTree newExceptionTree(ReferenceTree name, List<? extends DocTree> description)
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
HiddenTree newHiddenTree(List<? extends DocTree> text)
Create a newHiddenTree
object, to represent an{@hidden }
tag.- Parameters:
text
- the content of the tag- Returns:
-
a
HiddenTree
object
newIdentifierTree
IdentifierTree newIdentifierTree(Name name)
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
IndexTree newIndexTree(DocTree term, List<? extends DocTree> description)
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
LinkTree newLinkTree(ReferenceTree ref, List<? extends DocTree> label)
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
LinkTree newLinkPlainTree(ReferenceTree ref, List<? extends DocTree> label)
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
LiteralTree newLiteralTree(TextTree text)
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
ProvidesTree newProvidesTree(ReferenceTree name, List<? extends DocTree> description)
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
ReferenceTree newReferenceTree(String signature)
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
ReturnTree newReturnTree(List<? extends DocTree> description)
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
SeeTree newSeeTree(List<? extends DocTree> reference)
Create a newSeeTree
object, to represent a@see
tag.- Parameters:
reference
- the reference- Returns:
-
a
SeeTree
object
newSerialTree
SerialTree newSerialTree(List<? extends DocTree> description)
Create a newSerialTree
object, to represent a@serial
tag.- Parameters:
description
- the description for the tag- Returns:
-
a
SerialTree
object
newSerialDataTree
SerialDataTree newSerialDataTree(List<? extends DocTree> description)
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
SinceTree newSinceTree(List<? extends DocTree> text)
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
default SummaryTree newSummaryTree(List<? extends DocTree> summary)
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
newTextTree
TextTree newTextTree(String text)
Create a newTextTree
object, to represent some plain text.- Parameters:
text
- the text- Returns:
-
a
TextTree
object
newThrowsTree
ThrowsTree newThrowsTree(ReferenceTree name, List<? extends DocTree> description)
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
UnknownBlockTagTree newUnknownBlockTagTree(Name name, List<? extends DocTree> content)
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
UnknownInlineTagTree newUnknownInlineTagTree(Name name, List<? extends DocTree> content)
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
UsesTree newUsesTree(ReferenceTree name, List<? extends DocTree> description)
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
ValueTree newValueTree(ReferenceTree ref)
Create a newValueTree
object, to represent a{@value }
tag.- Parameters:
ref
- a reference to the value- Returns:
-
a
ValueTree
object
newVersionTree
VersionTree newVersionTree(List<? extends DocTree> text)
Create a newVersionTree
object, to represent a{@version }
tag.- Parameters:
text
- the content of the tag- Returns:
-
a
VersionTree
object
at
DocTreeFactory at(int pos)
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
List<DocTree> getFirstSentence(List<? extends DocTree> list)
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.
-