Class AbstractCheck

java.lang.Object
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 , PatternVariableAssignmentCheck , RecordComponentNumberCheck , RedundantImportCheck , RedundantModifierCheck , RegexpCheck , RegexpSinglelineJavaCheck , RequireThisCheck , ReturnCountCheck , RightCurlyCheck , SealedShouldHavePermitsListCheck , SeparatorWrapCheck , SimplifyBooleanExpressionCheck , SimplifyBooleanReturnCheck , SingleSpaceSeparatorCheck , StringLiteralEqualityCheck , SuppressWarningsCheck , SuppressWarningsHolder , ThrowsCountCheck , TodoCommentCheck , TrailingCommentCheck , UncommentedMainCheck , UnnecessaryNullCheckWithInstanceOfCheck , 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