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

Quick Search    Search Deep

com.puppycrawl.tools.checkstyle.checks
Class EqualsHashCodeCheck  view EqualsHashCodeCheck download EqualsHashCodeCheck.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.EqualsHashCodeCheck
All Implemented Interfaces:
com.puppycrawl.tools.checkstyle.api.Configurable, com.puppycrawl.tools.checkstyle.api.Contextualizable

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

Checks that classes that override equals() also override hashCode().

Rationale: The contract of equals() and hashCode() requires that equal objects have the same hashCode. Hence, whenever you override equals() you must override hashCode() to ensure that your class can be used in collections that are hash based.

An example of how to configure the check is:

 <module name="EqualsHashCode"/>
 


Field Summary
private  java.util.Map mObjBlockEquals
          maps OBJ_BLOCK to the method definition of equals()
private  java.util.Set mObjBlockWithHashCode
          the set of OBJ_BLOCKs that contain a definition of hashCode()
 
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
EqualsHashCodeCheck()
           
 
Method Summary
 void beginTree()
           
 void finishTree()
           
 int[] getDefaultTokens()
          Returns the default token a check is interested in.
private  boolean isObjectParam(antlr.collections.AST aFirstChild)
          Determines if an AST is a formal param of type Object (or subclass).
 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

mObjBlockEquals

private final java.util.Map mObjBlockEquals
maps OBJ_BLOCK to the method definition of equals()


mObjBlockWithHashCode

private final java.util.Set mObjBlockWithHashCode
the set of OBJ_BLOCKs that contain a definition of hashCode()

Constructor Detail

EqualsHashCodeCheck

public EqualsHashCodeCheck()
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.


beginTree

public void beginTree()

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.


isObjectParam

private boolean isObjectParam(antlr.collections.AST aFirstChild)
Determines if an AST is a formal param of type Object (or subclass).


finishTree

public void finishTree()