24/02/2013

TEH framework

 TEH signifie ToString Equals HashCode

 

Design

Ce framework utilise les annotations pour implementer toString, equals et hashCode

Par design, il force ces 2 règles

  • Tout attribut utilisé pour equals sera utilisé pour toString
  • Tout attribut utilisé pour hashCode sera utilisé pour equals (et toString)

 

Utilisation

Les 4 annotations sont 

@TEH 

@ToString

@ToStringEquals

@ToStringEqualsHashCode

 

Les 3 annotations ToString* se placent directement sur les attributs

On peut activer les annotations sur une classe de 2 manières :

  • Etendre TEHObject
  • Surcharger les 3 méthodes en utilisant TEHUtils et ajouter @TEH sur la classe

 

Approche

TEH ne force pas à utiliser des getter/setter

Les règles sont faites pour faciliter les activités de dévelopement comme le test et le log:

Si dans un test JUnit l'on compare des objets avec assertEquals, le message de failure utilise toString. Il faut que ce message aide à trouver les différences.

hashCode etant une methode utilisée pour de l'optimisation, principalement dans certaines structures de donnée comme les hashMap, si deux objets sont égaux ils doivent renvoyer le même hashCode.

http://download.oracle.com/javase/6/docs/api/java/lang/Object.html#hashCode()

 

Le projet sous github

https://github.com/wokier/TEH

Comme on dit : "Fork me!"

Aucun commentaire:

Enregistrer un commentaire

Feedback...