Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.puppycrawl.tools.checkstyle.checks
Class ModifierOrderCheck  view ModifierOrderCheck download ModifierOrderCheck.java

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.ModifierOrderCheck
All Implemented Interfaces:
com.puppycrawl.tools.checkstyle.api.Configurable, com.puppycrawl.tools.checkstyle.api.Contextualizable

public class ModifierOrderCheck
extends com.puppycrawl.tools.checkstyle.api.Check

Checks that the order of modifiers conforms to the suggestions in the Java Language specification, sections 8.1.1, 8.3.1 and 8.4.3. The correct order is:

  1. public
  2. protected
  3. private
  4. abstract
  5. static
  6. final
  7. transient
  8. volatile
  9. synchronized
  10. native
  11. strictfp

Rationale: Code is easier to read if everybody follows a standard.

An example of how to configure the check is:

 <module name="ModifierOrder"/>
 


Field Summary
private static java.lang.String[] JLS_ORDER
          The order of modifiers as suggested in sections 8.1.1, 8.3.1 and 8.4.3 of the JLS.
 
Fields inherited from class com.puppycrawl.tools.checkstyle.api.Check
 
Fields inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
 
Fields inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
 
Constructor Summary
ModifierOrderCheck()
           
 
Method Summary
(package private)  com.puppycrawl.tools.checkstyle.api.DetailAST checkOrderSuggestedByJLS(java.util.List aModifiers)
          Checks if the modifiers were added in the order suggested in the Java language specification.
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
 void visitToken(com.puppycrawl.tools.checkstyle.api.DetailAST aAST)
          Called to process a token.
 
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
getMessageBundle, getSeverity, getSeverityLevel, 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
 

Field Detail

JLS_ORDER

private static final java.lang.String[] JLS_ORDER
The order of modifiers as suggested in sections 8.1.1, 8.3.1 and 8.4.3 of the JLS.

Constructor Detail

ModifierOrderCheck

public ModifierOrderCheck()
Method Detail

getDefaultTokens

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


visitToken

public void visitToken(com.puppycrawl.tools.checkstyle.api.DetailAST aAST)
Description copied from class: com.puppycrawl.tools.checkstyle.api.Check
Called to process a token.


checkOrderSuggestedByJLS

com.puppycrawl.tools.checkstyle.api.DetailAST checkOrderSuggestedByJLS(java.util.List aModifiers)
Checks if the modifiers were added in the order suggested in the Java language specification.