## com.puppycrawl.tools.checkstyle.checks.imports
Class ImportControlCheck

    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.imports.ImportControlCheck

All Implemented Interfaces:
  Configurable, Contextualizable

    public class ImportControlCheck

extends Check

Check that controls what packages can be imported in each package. Useful for ensuring that application layering is not violated. Ideas on how the check can be improved include support for:

- Change the default policy that if a package being checked does not match any guards, then it is allowed. Currently defaults to disallowed.

Author:
  Oliver Burn

Constructor Summary
`ImportControlCheck()`

Method Summary
`void` `beginTree(DetailAST aRootAST)` Called before the starting to process a tree.
`int[]` `getDefaultTokens()` Returns the default token a check is interested in.
`void` `setFile(String aName)` Set the parameter for the file containing the import control configuration.
`void` `setUrl(String aUrl)` Set the parameter for the url containing the import control configuration.
`void` `visitToken(DetailAST aAST)` Called to process a token.

Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
`destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens`

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
`getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, setId, 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

### ImportControlCheck

    public ImportControlCheck()

Method Detail

### getDefaultTokens

    public int[] getDefaultTokens()

  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 class `Check`
  Returns:
    the default tokens
  See Also:
    `TokenTypes`

### beginTree

    public void beginTree(DetailAST aRootAST)

  Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.

  Overrides:
    `beginTree` in class `Check`
  Parameters:
    `aRootAST` - the root of the tree

### visitToken

    public void visitToken(DetailAST aAST)

  Called to process a token.

  Overrides:
    `visitToken` in class `Check`
  Parameters:
    `aAST` - the token to process

### setUrl

    public void setUrl(String aUrl)

  Set the parameter for the url containing the import control configuration. It will cause the url to be loaded.

  Parameters:
    `aUrl` - the url of the file to load.
  Throws:
    `org.apache.commons.beanutils.ConversionException` - on error loading the file.

### setFile

    public void setFile(String aName)

  Set the parameter for the file containing the import control configuration. It will cause the file to be loaded.

  Parameters:
    `aName` - the name of the file to load.
  Throws:
    `org.apache.commons.beanutils.ConversionException` - on error loading the file.

Back to the Checkstyle Home Page