public class JavadocStyleCheck extends AbstractCheck
| Modifier and Type | Field and Description |
|---|---|
private static java.util.Set<java.lang.String> |
ALLOWED_TAGS
HTML tags that are allowed in java docs.
|
private boolean |
checkEmptyJavadoc
Indicates if empty javadoc statements should be checked.
|
private boolean |
checkFirstSentence
Indicates if the first sentence should be checked for proper end of
sentence punctuation.
|
private boolean |
checkHtml
Indicates if the HTML within the comment should be checked.
|
private java.util.regex.Pattern |
endOfSentenceFormat
Format for matching the end of a sentence.
|
private Scope |
excludeScope
The visibility scope where Javadoc comments shouldn't be checked.
|
static java.lang.String |
MSG_EMPTY
Message property key for the Unclosed HTML message.
|
static java.lang.String |
MSG_EXTRA_HTML
Message property key for the Extra HTML message.
|
static java.lang.String |
MSG_INCOMPLETE_TAG
Message property key for the Unclosed HTML message.
|
static java.lang.String |
MSG_JAVADOC_MISSING
Message property key for the Unclosed HTML message.
|
static java.lang.String |
MSG_NO_PERIOD
Message property key for the Unclosed HTML message.
|
static java.lang.String |
MSG_UNCLOSED_HTML
Message property key for the Unclosed HTML message.
|
private Scope |
scope
The scope to check.
|
private static java.util.Set<java.lang.String> |
SINGLE_TAGS
HTML tags that do not require a close tag.
|
| Constructor and Description |
|---|
JavadocStyleCheck() |
| Modifier and Type | Method and Description |
|---|---|
private void |
checkComment(DetailAST ast,
TextBlock comment)
Performs the various checks against the Javadoc comment.
|
private void |
checkFirstSentenceEnding(DetailAST ast,
TextBlock comment)
Checks that the first sentence ends with proper punctuation.
|
private void |
checkHtmlTags(DetailAST ast,
TextBlock comment)
Checks the comment for HTML tags that do not have a corresponding close
tag or a close tag that has no previous open tag.
|
private void |
checkJavadocIsNotEmpty(TextBlock comment)
Checks that the Javadoc is not empty.
|
private void |
checkUnclosedTags(java.util.Deque<HtmlTag> htmlStack,
java.lang.String token)
Checks to see if there are any unclosed tags on the stack.
|
private static int |
findTextStart(java.lang.String line)
Finds the index of the first non-whitespace character ignoring the
Javadoc comment start and end strings (/** and */) as well as any
leading asterisk.
|
int[] |
getAcceptableTokens()
The configurable token set.
|
private static java.lang.String |
getCommentText(java.lang.String... comments)
Returns the comment text from the Javadoc.
|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
int[] |
getRequiredTokens()
The tokens that this check must be registered for.
|
private static boolean |
isAllowedTag(HtmlTag tag)
Determines if the HtmlTag is one which is allowed in a javadoc.
|
private static boolean |
isExtraHtml(java.lang.String token,
java.util.Deque<HtmlTag> htmlStack)
Determines if the given token is an extra HTML tag.
|
private static boolean |
isSingleTag(HtmlTag tag)
Determines if the HtmlTag is one which does not require a close tag.
|
void |
setCheckEmptyJavadoc(boolean flag)
Sets the flag that determines if empty Javadoc checking should be done.
|
void |
setCheckFirstSentence(boolean flag)
Sets the flag that determines if the first sentence is checked for
proper end of sentence punctuation.
|
void |
setCheckHtml(boolean flag)
Sets the flag that determines if HTML checking is to be performed.
|
void |
setEndOfSentenceFormat(java.util.regex.Pattern pattern)
Set the format for matching the end of a sentence.
|
void |
setExcludeScope(Scope excludeScope)
Set the excludeScope.
|
void |
setScope(Scope scope)
Sets the scope to check.
|
private boolean |
shouldCheck(DetailAST ast)
Whether we should check this node.
|
private static void |
trimTail(java.lang.StringBuilder builder)
Trims any trailing whitespace or the end of Javadoc comment string.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
beginTree, destroy, finishTree, getClassLoader, getFileContents, getLine, getLines, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokensgetCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverityconfigure, contextualize, finishLocalSetup, getConfiguration, setupChildpublic static final java.lang.String MSG_JAVADOC_MISSING
public static final java.lang.String MSG_EMPTY
public static final java.lang.String MSG_NO_PERIOD
public static final java.lang.String MSG_INCOMPLETE_TAG
public static final java.lang.String MSG_UNCLOSED_HTML
public static final java.lang.String MSG_EXTRA_HTML
private static final java.util.Set<java.lang.String> SINGLE_TAGS
private static final java.util.Set<java.lang.String> ALLOWED_TAGS
private Scope scope
private Scope excludeScope
private java.util.regex.Pattern endOfSentenceFormat
private boolean checkFirstSentence
private boolean checkHtml
private boolean checkEmptyJavadoc
public int[] getDefaultTokens()
AbstractCheckgetDefaultTokens in class AbstractCheckTokenTypespublic int[] getAcceptableTokens()
AbstractCheckgetAcceptableTokens in class AbstractCheckTokenTypespublic int[] getRequiredTokens()
AbstractCheckgetRequiredTokens in class AbstractCheckTokenTypespublic void visitToken(DetailAST ast)
AbstractCheckvisitToken in class AbstractCheckast - the token to processprivate boolean shouldCheck(DetailAST ast)
ast - a given node.private void checkComment(DetailAST ast, TextBlock comment)
ast - the AST of the element being documentedcomment - the source lines that make up the Javadoc comment.checkFirstSentenceEnding(DetailAST, TextBlock),
checkHtmlTags(DetailAST, TextBlock)private void checkFirstSentenceEnding(DetailAST ast, TextBlock comment)
ast - the current nodecomment - the source lines that make up the Javadoc comment.private void checkJavadocIsNotEmpty(TextBlock comment)
comment - the source lines that make up the Javadoc comment.private static java.lang.String getCommentText(java.lang.String... comments)
comments - the lines of Javadoc.private static int findTextStart(java.lang.String line)
line - the Javadoc comment line of text to scan.private static void trimTail(java.lang.StringBuilder builder)
builder - the StringBuilder to trim.private void checkHtmlTags(DetailAST ast, TextBlock comment)
ast - the node with the Javadoccomment - the TextBlock which represents
the Javadoc comment.private void checkUnclosedTags(java.util.Deque<HtmlTag> htmlStack, java.lang.String token)
htmlStack - the stack of opened HTML tags.token - the current HTML tag name that has been closed.private static boolean isSingleTag(HtmlTag tag)
tag - the HtmlTag to check.true if the HtmlTag is a single tag.private static boolean isAllowedTag(HtmlTag tag)
tag - the HtmlTag to check.true if the HtmlTag is an allowed html tag.private static boolean isExtraHtml(java.lang.String token,
java.util.Deque<HtmlTag> htmlStack)
token - an HTML tag id for which a close was found.htmlStack - a Stack of previous open HTML tags.false if a previous open tag was found
for the token.public void setScope(Scope scope)
scope - a scope.public void setExcludeScope(Scope excludeScope)
excludeScope - a scope.public void setEndOfSentenceFormat(java.util.regex.Pattern pattern)
pattern - a pattern.public void setCheckFirstSentence(boolean flag)
flag - true if the first sentence is to be checkedpublic void setCheckHtml(boolean flag)
flag - true if HTML checking is to be performed.public void setCheckEmptyJavadoc(boolean flag)
flag - true if empty Javadoc checking should be done.