com.puppycrawl.tools.checkstyle.checks.coding
Class IllegalTypeCheck

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.AbstractFormatCheck
                  extended by com.puppycrawl.tools.checkstyle.checks.coding.IllegalTypeCheck
All Implemented Interfaces:
Configurable, Contextualizable

public final class IllegalTypeCheck
extends AbstractFormatCheck

Checks that particular class are never used as types in variable declarations, return values or parameters. Includes a pattern check that by default disallows abstract classes.

Rationale: Helps reduce coupling on concrete classes. In addition abstract classes should be thought of a convenience base class implementations of interfaces and as such are not types themsleves.

Author:
Simon Harris

Constructor Summary
IllegalTypeCheck()
          Creates new instance of the check.
 
Method Summary
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 String[] getIgnoredMethodNames()
          Get the list of ignored method names.
 String[] getIllegalClassNames()
          Get the list of illegal variable types.
 String[] getLegalAbstractClassNames()
          Get the list of legal abstract class names.
 void setIgnoredMethodNames(String[] aMethodNames)
          Set the list of ignore method names.
 void setIllegalClassNames(String[] aClassNames)
          Set the list of illegal variable types.
 void setLegalAbstractClassNames(String[] aClassNames)
          Set the list of legal abstract class names.
 void visitToken(DetailAST aAST)
          Called to process a token.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.checks.AbstractFormatCheck
getFormat, getRegexp, setCompileFlags, setFormat
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
beginTree, 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

IllegalTypeCheck

public IllegalTypeCheck()
Creates new instance of the check.

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

visitToken

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

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

setIllegalClassNames

public void setIllegalClassNames(String[] aClassNames)
Set the list of illegal variable types.

Parameters:
aClassNames - array of illegal variable types

getIllegalClassNames

public String[] getIllegalClassNames()
Get the list of illegal variable types.

Returns:
array of illegal variable types

setIgnoredMethodNames

public void setIgnoredMethodNames(String[] aMethodNames)
Set the list of ignore method names.

Parameters:
aMethodNames - array of ignored method names

getIgnoredMethodNames

public String[] getIgnoredMethodNames()
Get the list of ignored method names.

Returns:
array of ignored method names

setLegalAbstractClassNames

public void setLegalAbstractClassNames(String[] aClassNames)
Set the list of legal abstract class names.

Parameters:
aClassNames - array of legal abstract class names

getLegalAbstractClassNames

public String[] getLegalAbstractClassNames()
Get the list of legal abstract class names.

Returns:
array of legal abstract class names

Back to the Checkstyle Home Page