com.puppycrawl.tools.checkstyle.api

Class Check

Implemented Interfaces:
Configurable, Contextualizable
Known Direct Subclasses:
AbstractClassCouplingCheck, AbstractComplexityCheck, AbstractFormatCheck, AbstractHeaderCheck, AbstractJ2eeCheck, AbstractNestedDepthCheck, AbstractOptionCheck, AbstractSuperCheck, AbstractTypeAwareCheck, AbstractUsageCheck, AnonInnerLengthCheck, ArrayTrailingCommaCheck, ArrayTypeStyleCheck, AvoidInlineConditionalsCheck, AvoidNestedBlocksCheck, AvoidStarImportCheck, BooleanExpressionComplexityCheck, CovariantEqualsCheck, DeclarationOrderCheck, DefaultComesLastCheck, DescendantTokenCheck, DesignForExtensionCheck, DoubleCheckedLockingCheck, EmptyStatementCheck, EqualsHashCodeCheck, ExecutableStatementCountCheck, ExplicitInitializationCheck, FallThroughCheck, FileContentsHolder, FileLengthCheck, FinalClassCheck, FinalLocalVariableCheck, FinalParametersCheck, FinalStaticCheck, HiddenFieldCheck, HideUtilityClassConstructorCheck, IllegalCatchCheck, IllegalImportCheck, IllegalInstantiationCheck, IllegalTokenCheck, ImportOrderCheck, IndentationCheck, InnerAssignmentCheck, InterfaceIsTypeCheck, JavadocStyleCheck, JavadocTypeCheck, JavadocVariableCheck, JavaNCSSCheck, JUnitTestCaseCheck, LineLengthCheck, MagicNumberCheck, MethodLengthCheck, ModifiedControlVariableCheck, ModifierOrderCheck, MultipleStringLiteralsCheck, MultipleVariableDeclarationsCheck, NeedBracesCheck, NoWhitespaceAfterCheck, NoWhitespaceBeforeCheck, PackageDeclarationCheck, ParameterAssignmentCheck, ParameterNumberCheck, RedundantImportCheck, RedundantModifierCheck, RequireThisCheck, SimplifyBooleanExpressionCheck, SimplifyBooleanReturnCheck, StringLiteralEqualityCheck, TabCharacterCheck, ThisParameterCheck, ThisReturnCheck, ThrowsCountCheck, UncommentedMainCheck, UnnecessaryParenthesesCheck, UnusedImportsCheck, UpperEllCheck, VisibilityModifierCheck, WhitespaceAfterCheck, WhitespaceAroundCheck

public abstract class Check
extends AbstractViolationReporter

The base class for checks.

Version:
1.0

Author:
Oliver Burn

See Also:
Writing your own checks

Method Summary

void
beginTree(DetailAST aRootAST)
Called before the starting to process a tree.
void
destroy()
Destroy the check.
void
finishTree(DetailAST aRootAST)
Called after finished processing a tree.
int[]
getAcceptableTokens()
The configurable token set.
ClassLoader
getClassLoader()
Returns the class loader associated with the tree.
int[]
getDefaultTokens()
Returns the default token a check is interested in.
FileContents
getFileContents()
Returns the file contents associated with the tree.
String[]
getLines()
Returns the lines associated with the tree.
int[]
getRequiredTokens()
The tokens that this check must be registered for.
protected int
getTabWidth()
Set
getTokenNames()
Returns the tokens registered for the check.
void
init()
Initialse the check.
void
leaveToken(DetailAST aAST)
Called after all the child nodes have been process.
protected void
log(int aLine, String aKey, aArgs[] )
Log an error message.
protected void
log(int aLineNo, int aColNo, String aKey, Object[] aArgs)
Helper method to log a LocalizedMessage.
void
setClassLoader(ClassLoader aLoader)
Set the class loader associated with the tree.
void
setFileContents(FileContents aContents)
Set the file contents associated with the tree.
void
setMessages(LocalizedMessages aMessages)
Set the global object used to collect messages.
void
setTabWidth(int aTabWidth)
Set the tab width to report errors with.
void
setTokens(String[] aStrRep)
Adds a set of tokens the check is interested in.
void
visitToken(DetailAST aAST)
Called to process a token.

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter

getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, log, log, setSeverity

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean

configure, contextualize, finishLocalSetup, getConfiguration, setupChild

Method Details

beginTree

public void beginTree(DetailAST aRootAST)
Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.

Parameters:
aRootAST - the root of the tree


destroy

public void destroy()
Destroy the check. It is being retired from service.


finishTree

public void finishTree(DetailAST aRootAST)
Called after finished processing a tree. Ideal place to report on information collected whilst processing a tree.

Parameters:
aRootAST - the root of the tree


getAcceptableTokens

public int[] getAcceptableTokens()
The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.

Returns:
the token set this check is designed for.

See Also:
TokenTypes


getClassLoader

public final ClassLoader getClassLoader()
Returns the class loader associated with the tree.

Returns:
the class loader


getDefaultTokens

public int[] getDefaultTokens()
Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.

Returns:
the default tokens

See Also:
TokenTypes


getFileContents

public final FileContents getFileContents()
Returns the file contents associated with the tree.

Returns:
the file contents


getLines

public final String[] getLines()
Returns the lines associated with the tree.

Returns:
the file contents


getRequiredTokens

public int[] getRequiredTokens()
The tokens that this check must be registered for.

Returns:
the token set this must be registered for.

See Also:
TokenTypes


getTabWidth

protected final int getTabWidth()

Returns:
the tab width to report errors with


getTokenNames

public final Set getTokenNames()
Returns the tokens registered for the check.

Returns:
the set of token names


init

public void init()
Initialse the check. This is the time to verify that the check has everything required to perform it job.


leaveToken

public void leaveToken(DetailAST aAST)
Called after all the child nodes have been process.

Parameters:
aAST - the token leaving


log

protected final void log(int aLine,
                         String aKey,
                         aArgs[] )
Log an error message.
Overrides:
log in interface AbstractViolationReporter

Parameters:
aLine - the line number where the error was found
aKey - the message that describes the error

See Also:
java.text.MessageFormat


log

protected final void log(int aLineNo,
                         int aColNo,
                         String aKey,
                         Object[] aArgs)
Helper method to log a LocalizedMessage.
Overrides:
log in interface AbstractViolationReporter

Parameters:
aLineNo - line number to associate with the message
aColNo - column number to associate with the message
aKey - key to locale message format
aArgs - arguments for message


setClassLoader

public final void setClassLoader(ClassLoader aLoader)
Set the class loader associated with the tree.

Parameters:
aLoader - the class loader


setFileContents

public final void setFileContents(FileContents aContents)
Set the file contents associated with the tree.

Parameters:
aContents - the manager


setMessages

public final void setMessages(LocalizedMessages aMessages)
Set the global object used to collect messages.

Parameters:
aMessages - the messages to log with


setTabWidth

public final void setTabWidth(int aTabWidth)
Set the tab width to report errors with.

Parameters:
aTabWidth - an int value


setTokens

public final void setTokens(String[] aStrRep)
Adds a set of tokens the check is interested in.

Parameters:
aStrRep - the string representation of the tokens interested in


visitToken

public void visitToken(DetailAST aAST)
Called to process a token.

Parameters:
aAST - the token to process