Class AbstractClassCouplingCheck
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.AutomaticBean
-
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
-
- com.puppycrawl.tools.checkstyle.api.AbstractCheck
-
- com.puppycrawl.tools.checkstyle.checks.metrics.AbstractClassCouplingCheck
-
- All Implemented Interfaces:
Configurable,Contextualizable
- Direct Known Subclasses:
ClassDataAbstractionCouplingCheck,ClassFanOutComplexityCheck
public abstract class AbstractClassCouplingCheck extends AbstractCheck
Base class for coupling calculation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classAbstractClassCouplingCheck.ClassContextEncapsulates information about class coupling.private classAbstractClassCouplingCheck.FileContextEncapsulates information about classes coupling inside single file.
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Set<java.lang.String>DEFAULT_EXCLUDED_CLASSESClass names to ignore.private static java.util.Set<java.lang.String>DEFAULT_EXCLUDED_PACKAGESPackage names to ignore.private static java.lang.StringDOTA package separator - "."private java.util.List<java.util.regex.Pattern>excludeClassesRegexpsUser-configured regular expressions to ignore classes.private java.util.Set<java.lang.String>excludedClassesUser-configured class names to ignore.private java.util.Set<java.lang.String>excludedPackagesUser-configured package names to ignore.private AbstractClassCouplingCheck.FileContextfileContextCurrent file context.private intmaxAllowed complexity.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractClassCouplingCheck(int defaultMax)Creates new instance of the check.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidbeginTree(DetailAST ast)Called before the starting to process a tree.int[]getDefaultTokens()Returns the default token a check is interested in.protected abstract java.lang.StringgetLogMessageId()Returns message key we use for log violations.intgetMax()Returns allowed complexity.private voidleaveClassDef()Restores previous context.voidleaveToken(DetailAST ast)Called after all the child nodes have been process.voidsetExcludeClassesRegexps(java.lang.String... from)Sets user-excluded regular expression of classes to ignore.voidsetExcludedClasses(java.lang.String... excludedClasses)Sets user-excluded classes to ignore.voidsetExcludedPackages(java.lang.String... excludedPackages)Sets user-excluded pakcages to ignore.voidsetMax(int max)Sets maximum allowed complexity.private voidvisitClassDef(DetailAST classDef)Creates new context for a given class.private voidvisitPackageDef(DetailAST pkg)Stores package of current class we check.voidvisitToken(DetailAST ast)Called to process a token.-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheck
destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLine, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, isCommentNodesRequired, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverity
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
-
-
-
-
Field Detail
-
DOT
private static final java.lang.String DOT
A package separator - "."- See Also:
- Constant Field Values
-
DEFAULT_EXCLUDED_CLASSES
private static final java.util.Set<java.lang.String> DEFAULT_EXCLUDED_CLASSES
Class names to ignore.
-
DEFAULT_EXCLUDED_PACKAGES
private static final java.util.Set<java.lang.String> DEFAULT_EXCLUDED_PACKAGES
Package names to ignore.
-
excludeClassesRegexps
private final java.util.List<java.util.regex.Pattern> excludeClassesRegexps
User-configured regular expressions to ignore classes.
-
excludedClasses
private java.util.Set<java.lang.String> excludedClasses
User-configured class names to ignore.
-
excludedPackages
private java.util.Set<java.lang.String> excludedPackages
User-configured package names to ignore.
-
max
private int max
Allowed complexity.
-
fileContext
private AbstractClassCouplingCheck.FileContext fileContext
Current file context.
-
-
Method Detail
-
getLogMessageId
protected abstract java.lang.String getLogMessageId()
Returns message key we use for log violations.- Returns:
- message key we use for log violations.
-
getDefaultTokens
public final int[] getDefaultTokens()
Description copied from class:AbstractCheckReturns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.- Specified by:
getDefaultTokensin classAbstractCheck- Returns:
- the default tokens
- See Also:
TokenTypes
-
getMax
public final int getMax()
Returns allowed complexity.- Returns:
- allowed complexity.
-
setMax
public final void setMax(int max)
Sets maximum allowed complexity.- Parameters:
max- allowed complexity.
-
setExcludedClasses
public final void setExcludedClasses(java.lang.String... excludedClasses)
Sets user-excluded classes to ignore.- Parameters:
excludedClasses- the list of classes to ignore.
-
setExcludeClassesRegexps
public void setExcludeClassesRegexps(java.lang.String... from)
Sets user-excluded regular expression of classes to ignore.- Parameters:
from- array representing regular expressions of classes to ignore.
-
setExcludedPackages
public final void setExcludedPackages(java.lang.String... excludedPackages)
Sets user-excluded pakcages to ignore. All exlcuded packages should end with a period, so it also appends a dot to a package name.- Parameters:
excludedPackages- the list of packages to ignore.
-
beginTree
public final void beginTree(DetailAST ast)
Description copied from class:AbstractCheckCalled before the starting to process a tree. Ideal place to initialize information that is to be collected whilst processing a tree.- Overrides:
beginTreein classAbstractCheck- Parameters:
ast- the root of the tree
-
visitToken
public void visitToken(DetailAST ast)
Description copied from class:AbstractCheckCalled to process a token.- Overrides:
visitTokenin classAbstractCheck- Parameters:
ast- the token to process
-
leaveToken
public void leaveToken(DetailAST ast)
Description copied from class:AbstractCheckCalled after all the child nodes have been process.- Overrides:
leaveTokenin classAbstractCheck- Parameters:
ast- the token leaving
-
visitPackageDef
private void visitPackageDef(DetailAST pkg)
Stores package of current class we check.- Parameters:
pkg- package definition.
-
visitClassDef
private void visitClassDef(DetailAST classDef)
Creates new context for a given class.- Parameters:
classDef- class definition node.
-
leaveClassDef
private void leaveClassDef()
Restores previous context.
-
-