com.puppycrawl.tools.checkstyle.checks.metrics
Class ClassDataAbstractionCouplingCheck

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended bycom.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended bycom.puppycrawl.tools.checkstyle.api.Check
              extended bycom.puppycrawl.tools.checkstyle.checks.metrics.AbstractClassCouplingCheck
                  extended bycom.puppycrawl.tools.checkstyle.checks.metrics.ClassDataAbstractionCouplingCheck
All Implemented Interfaces:
Configurable, Contextualizable

public final class ClassDataAbstractionCouplingCheck
extends AbstractClassCouplingCheck

This metric measures the number of instantiations of other classes within the given class. This type of coupling is not caused by inheritance or the object oriented paradigm. Generally speaking, any abstract data type with other abstract data types as members has data abstraction coupling; therefore, if a class has a local variable that is an instantiation (object) of another class, there is data abstraction coupling. The higher the DAC, the more complex the data structure (classes) of the system.

Author:
Simon Harris, o_sukhodolsky

Constructor Summary
ClassDataAbstractionCouplingCheck()
          Creates bew instance of the check.
 
Method Summary
protected  java.lang.String getLogMessageId()
          
 int[] getRequiredTokens()
          The tokens that this check must be registered for.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.checks.metrics.AbstractClassCouplingCheck
beginTree, getDefaultTokens, getMax, leaveToken, setMax, visitToken
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getTabWidth, getTokenNames, init, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
 
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

ClassDataAbstractionCouplingCheck

public ClassDataAbstractionCouplingCheck()
Creates bew instance of the check.

Method Detail

getRequiredTokens

public int[] getRequiredTokens()
The tokens that this check must be registered for.

Overrides:
getRequiredTokens in class Check
Returns:
the token set this must be registered for.
See Also:
TokenTypes

getLogMessageId

protected java.lang.String getLogMessageId()

Specified by:
getLogMessageId in class AbstractClassCouplingCheck
Returns:
message key we use for log violations.

Back to the Checkstyle Home Page