com.puppycrawl.tools.checkstyle.checks.design
Class InterfaceIsTypeCheck

java.lang.Object
  extended by com.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended by com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended by com.puppycrawl.tools.checkstyle.api.Check
              extended by com.puppycrawl.tools.checkstyle.checks.design.InterfaceIsTypeCheck
All Implemented Interfaces:
Configurable, Contextualizable

public final class InterfaceIsTypeCheck
extends Check

Implements Bloch, Effective Java, Item 17 - Use Interfaces only to define types.

An interface should describe a type, it is therefore inappropriate to define an interface that does not contain any methods but only constants.

The check can be configured to also disallow marker interfaces like java.io.Serializable, that do not contain methods or constants at all.

Version:
$Revision: 1.7 $
Author:
lkuehne

Constructor Summary
InterfaceIsTypeCheck()
           
 
Method Summary
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 int[] getRequiredTokens()
          The tokens that this check must be registered for.
 void setAllowMarkerInterfaces(boolean aFlag)
          Controls whether marker interfaces like Serializable are allowed.
 void visitToken(DetailAST aAST)
          Called to process a token.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, 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

InterfaceIsTypeCheck

public InterfaceIsTypeCheck()
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

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

visitToken

public void visitToken(DetailAST aAST)
Called to process a token.

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

setAllowMarkerInterfaces

public void setAllowMarkerInterfaces(boolean aFlag)
Controls whether marker interfaces like Serializable are allowed.

Parameters:
aFlag - whether to allow marker interfaces or not

Back to the Checkstyle Home Page