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

    java.lang.Object
      com.puppycrawl.tools.checkstyle.api.AutomaticBean
          com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
              com.puppycrawl.tools.checkstyle.api.Check
                  com.puppycrawl.tools.checkstyle.checks.metrics.AbstractClassCouplingCheck
                      com.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