Class AbstractCheck

All Implemented Interfaces:
Configurable, Contextualizable
Direct Known Subclasses:
AbbreviationAsWordInNameCheck, AbstractClassCouplingCheck, AbstractClassNameCheck, AbstractJavadocCheck, AbstractNameCheck, AbstractParenPadCheck, AbstractSuperCheck, AnnotationLocationCheck, AnnotationOnSameLineCheck, AnnotationUseStyleCheck, AnonInnerLengthCheck, ArrayTrailingCommaCheck, ArrayTypeStyleCheck, AvoidDoubleBraceInitializationCheck, AvoidEscapedUnicodeCharactersCheck, AvoidInlineConditionalsCheck, AvoidNestedBlocksCheck, AvoidNoArgumentSuperConstructorCallCheck, AvoidStarImportCheck, AvoidStaticImportCheck, BooleanExpressionComplexityCheck, ClassMemberImpliedModifierCheck, CommentsIndentationCheck, ConstructorsDeclarationGroupingCheck, CovariantEqualsCheck, CustomImportOrderCheck, CyclomaticComplexityCheck, DeclarationOrderCheck, DefaultComesLastCheck, DescendantTokenCheck, DesignForExtensionCheck, EmptyBlockCheck, EmptyCatchBlockCheck, EmptyForInitializerPadCheck, EmptyForIteratorPadCheck, EmptyLineSeparatorCheck, EmptyStatementCheck, EqualsAvoidNullCheck, EqualsHashCodeCheck, ExecutableStatementCountCheck, ExplicitInitializationCheck, FallThroughCheck, FinalClassCheck, FinalLocalVariableCheck, FinalParametersCheck, GenericWhitespaceCheck, HiddenFieldCheck, HideUtilityClassConstructorCheck, IllegalCatchCheck, IllegalImportCheck, IllegalInstantiationCheck, IllegalThrowsCheck, IllegalTokenCheck, IllegalTokenTextCheck, IllegalTypeCheck, ImportControlCheck, ImportOrderCheck, IndentationCheck, InnerAssignmentCheck, InnerTypeLastCheck, InterfaceIsTypeCheck, InterfaceMemberImpliedModifierCheck, InvalidJavadocPositionCheck, JavadocContentLocationCheck, JavadocMethodCheck, JavadocStyleCheck, JavadocTypeCheck, JavadocVariableCheck, JavaNCSSCheck, LambdaBodyLengthCheck, LeftCurlyCheck, MagicNumberCheck, MatchXpathCheck, MethodCountCheck, MethodLengthCheck, MethodParamPadCheck, MissingCtorCheck, MissingJavadocMethodCheck, MissingJavadocPackageCheck, MissingJavadocTypeCheck, MissingNullCaseInSwitchCheck, MissingOverrideCheck, MissingSwitchDefaultCheck, ModifiedControlVariableCheck, ModifierOrderCheck, MultipleStringLiteralsCheck, MultipleVariableDeclarationsCheck, MutableExceptionCheck, NeedBracesCheck, NestedForDepthCheck, NestedIfDepthCheck, NestedTryDepthCheck, NoArrayTrailingCommaCheck, NoCloneCheck, NoCodeInFileCheck, NoEnumTrailingCommaCheck, NoFinalizerCheck, NoLineWrapCheck, NoWhitespaceAfterCheck, NoWhitespaceBeforeCaseDefaultColonCheck, NoWhitespaceBeforeCheck, NPathComplexityCheck, OneStatementPerLineCheck, OneTopLevelClassCheck, OperatorWrapCheck, OuterTypeFilenameCheck, OuterTypeNumberCheck, OverloadMethodsDeclarationOrderCheck, PackageAnnotationCheck, PackageDeclarationCheck, PackageNameCheck, ParameterAssignmentCheck, ParameterNumberCheck, RecordComponentNumberCheck, RedundantImportCheck, RedundantModifierCheck, RegexpCheck, RegexpSinglelineJavaCheck, RequireThisCheck, ReturnCountCheck, RightCurlyCheck, SealedShouldHavePermitsListCheck, SeparatorWrapCheck, SimplifyBooleanExpressionCheck, SimplifyBooleanReturnCheck, SingleSpaceSeparatorCheck, StringLiteralEqualityCheck, SuppressWarningsCheck, SuppressWarningsHolder, ThrowsCountCheck, TodoCommentCheck, TrailingCommentCheck, UncommentedMainCheck, UnnecessaryParenthesesCheck, UnnecessarySemicolonAfterOuterTypeDeclarationCheck, UnnecessarySemicolonAfterTypeMemberDeclarationCheck, UnnecessarySemicolonInEnumerationCheck, UnnecessarySemicolonInTryWithResourcesCheck, UnusedCatchParameterShouldBeUnnamedCheck, UnusedImportsCheck, UnusedLambdaParameterShouldBeUnnamedCheck, UnusedLocalVariableCheck, UpperEllCheck, VariableDeclarationUsageDistanceCheck, VisibilityModifierCheck, WhenShouldBeUsedCheck, WhitespaceAfterCheck, WhitespaceAroundCheck, WriteTagCheck

public abstract class AbstractCheck extends AbstractViolationReporter
The base class for checks.
See Also:
  • Field Details

  • Constructor Details

  • Method Details

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

      public abstract 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:
    • getRequiredTokens

      public abstract int[] getRequiredTokens()
      The tokens that this check must be registered for.
      Returns:
      the token set this must be registered for.
      See Also:
    • isCommentNodesRequired

      public boolean isCommentNodesRequired()
      Whether comment nodes are required or not.
      Returns:
      false as a default value.
    • setTokens

      public final void setTokens(String... strRep)
      Adds a set of tokens the check is interested in.
      Parameters:
      strRep - the string representation of the tokens interested in
    • getTokenNames

      public final Set<String> getTokenNames()
      Returns the tokens registered for the check.
      Returns:
      the set of token names
    • getViolations

      Returns the sorted set of Violation.
      Returns:
      the sorted set of Violation.
    • clearViolations

      public final void clearViolations()
      Clears the sorted set of Violation of the check.
    • init

      public void init()
      Initialize the check. This is the time to verify that the check has everything required to perform its job.
    • destroy

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

      public void beginTree(DetailAST rootAST)
      Called before the starting to process a tree. Ideal place to initialize information that is to be collected whilst processing a tree.
      Parameters:
      rootAST - the root of the tree
    • finishTree

      public void finishTree(DetailAST rootAST)
      Called after finished processing a tree. Ideal place to report on information collected whilst processing a tree.
      Parameters:
      rootAST - the root of the tree
    • visitToken

      public void visitToken(DetailAST ast)
      Called to process a token.
      Parameters:
      ast - the token to process
    • leaveToken

      public void leaveToken(DetailAST ast)
      Called after all the child nodes have been process.
      Parameters:
      ast - the token leaving
    • setFileContents

      public final void setFileContents(FileContents contents)
      Set the file contents associated with the tree.
      Parameters:
      contents - the manager
    • getFileContents

      Deprecated.
      Usage of this method is no longer accepted. Please use AST based methods instead.
      Returns the file contents associated with the tree.
      Returns:
      the file contents
    • getTabWidth

      protected final int getTabWidth()
      Get tab width to report audit events with.
      Returns:
      the tab width to audit events with
    • setTabWidth

      public final void setTabWidth(int tabWidth)
      Set the tab width to report audit events with.
      Parameters:
      tabWidth - an int value
    • log

      public final void log(int line, String key, Object... args)
      Description copied from class: AbstractViolationReporter
      Log a message that has no column information.
      Specified by:
      log in class AbstractViolationReporter
      Parameters:
      line - the line number where the audit event was found
      key - the message that describes the audit event
      args - the details of the message
      See Also:
    • log

      public final void log(int lineNo, int colNo, String key, Object... args)
      Description copied from class: AbstractViolationReporter
      Log a message that has column information.
      Specified by:
      log in class AbstractViolationReporter
      Parameters:
      lineNo - the line number where the audit event was found
      colNo - the column number where the audit event was found
      key - the message that describes the audit event
      args - the details of the message
      See Also:
    • log

      public final void log(DetailAST ast, String key, Object... args)
      Helper method to log a Violation.
      Parameters:
      ast - a node to get line id column numbers associated with the violation
      key - key to locale violation format
      args - arguments to format
    • getLines

      public final String[] getLines()
      Returns the lines associated with the tree.
      Returns:
      the file contents
    • getLine

      public final String getLine(int index)
      Returns the line associated with the tree.
      Parameters:
      index - index of the line
      Returns:
      the line from the file contents
    • getFilePath

      public final String getFilePath()
      Returns full path to the file.
      Returns:
      full path to file.
    • getLineCodePoints

      public final int[] getLineCodePoints(int index)
      Returns code point representation of file text from given line number.
      Parameters:
      index - index of the line
      Returns:
      the array of Unicode code points