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

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

public class MissingSwitchDefaultCheck
extends DescendantTokenCheck

Checks that switch statement has "default" clause.

Rationale: It's usually a good idea to introduce a default case in every switch statement. Even if the developer is sure that all currently possible cases are covered, this should be expressed in the default branch, e.g. by using an assertion. This way the code is protected aginst later changes, e.g. introduction of new types in an enumeration type.

An example of how to configure the check is:

 <module name="MissingSwitchDefault"/>
 

Author:
o_sukhodolsky

Constructor Summary
MissingSwitchDefaultCheck()
          Creates new instance of the check.
 
Method Summary
 int[] getAcceptableTokens()
          The configurable token set.
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.checks.DescendantTokenCheck
setLimitedTokens, setMaximumDepth, setMaximumMessage, setMaximumNumber, setMinimumDepth, setMinimumMessage, setMinimumNumber, setSumTokenCounts, visitToken
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
beginTree, destroy, finishTree, 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
getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, 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

MissingSwitchDefaultCheck

public MissingSwitchDefaultCheck()
Creates new instance of the check.

Method Detail

getDefaultTokens

public int[] getDefaultTokens()
Description copied from class: Check
Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.

Overrides:
getDefaultTokens in class DescendantTokenCheck
Returns:
the default tokens
See Also:
TokenTypes

getAcceptableTokens

public int[] getAcceptableTokens()
Description copied from class: Check
The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.

Overrides:
getAcceptableTokens in class DescendantTokenCheck
Returns:
the token set this check is designed for.
See Also:
TokenTypes


Copyright © 2001-2010. All Rights Reserved.