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

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended bycom.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended bycom.puppycrawl.tools.checkstyle.api.Check
              extended bycom.puppycrawl.tools.checkstyle.checks.DescendantTokenCheck
                  extended bycom.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, 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
getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, 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
See Also:
Check

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
See Also:
Check

Back to the Checkstyle Home Page