com.puppycrawl.tools.checkstyle.api

Class Check

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

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.
abstract 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

getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, log, log, setId, 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.

getClassLoader

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

getDefaultTokens

public abstract 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

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.

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:
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