com.puppycrawl.tools.checkstyle.checks.coding

Class IllegalTypeCheck

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()
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.
voidsetIgnoredMethodNames(String[] aMethodNames)
Set the list of ignore method names.
voidsetIllegalClassNames(String[] aClassNames)
Set the list of illegal variable types.
voidsetLegalAbstractClassNames(String[] aClassNames)
Set the list of legal abstract class names.
voidvisitToken(DetailAST aAST)

Constructor Detail

IllegalTypeCheck

public IllegalTypeCheck()
Creates new instance of the check.

Method Detail

getDefaultTokens

public int[] getDefaultTokens()
{@inheritDoc }

getIgnoredMethodNames

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

Returns: array of ignored method names

getIllegalClassNames

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

Returns: array of illegal variable types

getLegalAbstractClassNames

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

Returns: array of legal abstract class names

setIgnoredMethodNames

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

Parameters: aMethodNames array of ignored method names

setIllegalClassNames

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

Parameters: aClassNames array of illegal variable types

setLegalAbstractClassNames

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

Parameters: aClassNames array of legal abstract class names

visitToken

public void visitToken(DetailAST aAST)
{@inheritDoc }