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 class
AbstractClassCouplingCheck.ClassContext
Encapsulates information about class coupling.private class
AbstractClassCouplingCheck.FileContext
Encapsulates 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_CLASSES
Class names to ignore.private static java.util.Set<java.lang.String>
DEFAULT_EXCLUDED_PACKAGES
Package names to ignore.private static java.lang.String
DOT
A package separator - "."private java.util.List<java.util.regex.Pattern>
excludeClassesRegexps
User-configured regular expressions to ignore classes.private java.util.Set<java.lang.String>
excludedClasses
User-configured class names to ignore.private java.util.Set<java.lang.String>
excludedPackages
User-configured package names to ignore.private AbstractClassCouplingCheck.FileContext
fileContext
Current file context.private int
max
Allowed complexity.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractClassCouplingCheck(int defaultMax)
Creates new instance of the check.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
beginTree(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.String
getLogMessageId()
Returns message key we use for log violations.int
getMax()
Returns allowed complexity.private void
leaveClassDef()
Restores previous context.void
leaveToken(DetailAST ast)
Called after all the child nodes have been process.void
setExcludeClassesRegexps(java.lang.String... from)
Sets user-excluded regular expression of classes to ignore.void
setExcludedClasses(java.lang.String... excludedClasses)
Sets user-excluded classes to ignore.void
setExcludedPackages(java.lang.String... excludedPackages)
Sets user-excluded pakcages to ignore.void
setMax(int max)
Sets maximum allowed complexity.private void
visitClassDef(DetailAST classDef)
Creates new context for a given class.private void
visitPackageDef(DetailAST pkg)
Stores package of current class we check.void
visitToken(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:AbstractCheck
Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.- Specified by:
getDefaultTokens
in 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:AbstractCheck
Called before the starting to process a tree. Ideal place to initialize information that is to be collected whilst processing a tree.- Overrides:
beginTree
in classAbstractCheck
- Parameters:
ast
- the root of the tree
-
visitToken
public void visitToken(DetailAST ast)
Description copied from class:AbstractCheck
Called to process a token.- Overrides:
visitToken
in classAbstractCheck
- Parameters:
ast
- the token to process
-
leaveToken
public void leaveToken(DetailAST ast)
Description copied from class:AbstractCheck
Called after all the child nodes have been process.- Overrides:
leaveToken
in 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.
-
-