com.puppycrawl.tools.checkstyle.api
Class Check

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended bycom.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended bycom.puppycrawl.tools.checkstyle.api.Check
All Implemented Interfaces:
Configurable, Contextualizable
Direct Known 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

Constructor Summary
Check()
           
 
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.
 java.lang.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.
 java.lang.String[] getLines()
          Returns the lines associated with the tree.
 int[] getRequiredTokens()
          The tokens that this check must be registered for.
protected  int getTabWidth()
           
 java.util.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 aLineNo, int aColNo, java.lang.String aKey, java.lang.Object[] aArgs)
          Helper method to log a LocalizedMessage.
protected  void log(int aLine, java.lang.String aKey, java.lang.Object[] aArgs)
          Log an error message.
 void setClassLoader(java.lang.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(java.lang.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, setSeverity
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Check

public Check()
Method Detail

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
See Also:
TokenTypes

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

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

setTokens

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

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

getTokenNames

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

Returns:
the set of token names

setMessages

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

Parameters:
aMessages - the messages to log with

init

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


destroy

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


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

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

visitToken

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

Parameters:
aAST - the token to process

leaveToken

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

Parameters:
aAST - the token leaving

getLines

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

Returns:
the file contents

setFileContents

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

Parameters:
aContents - the manager

getFileContents

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

Returns:
the file contents

setClassLoader

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

Parameters:
aLoader - the class loader

getClassLoader

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

Returns:
the class loader

getTabWidth

protected final int getTabWidth()
Returns:
the tab width to report errors with

setTabWidth

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

Parameters:
aTabWidth - an int value

log

protected final void log(int aLine,
                         java.lang.String aKey,
                         java.lang.Object[] aArgs)
Log an error message.

Specified by:
log in class AbstractViolationReporter
Parameters:
aLine - the line number where the error was found
aKey - the message that describes the error
aArgs - the details of the message
See Also:
MessageFormat

log

protected final void log(int aLineNo,
                         int aColNo,
                         java.lang.String aKey,
                         java.lang.Object[] aArgs)
Helper method to log a LocalizedMessage.

Specified by:
log in class 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
See Also:
MessageFormat

Back to the Checkstyle Home Page