Plantillas para los métodos equals y hashCode en Eclipse, usando la librería de Apache Commons Lang.
0. Índice de contenidos.
- 1. Introducción.
- 2. Entorno.
- 3. Creación de las plantillas.
- 4. Uso de las plantillas.
- 5. Conclusiones.
1. Introducción
Eclipse soporta, por si solo, la generación de códido para los métodos equals, hashCode y toString de una clase.
Si, para el método toString, Eclipse permite la personalización del código que se genera, para los métodos equals y hashCode no.
Ya vimos la importancia de sobreescribirlos
en nuestras clases de entidad y una recomendación para que el código de los mismos lo generásemos con el soporte de la librería Apache Commons Lang.
En este tutorial vamos a exponer cómo hacer uso de plantillas de Eclipse para que generen el código de dichos métodos en nuestras clases.
Lo normal es que el copy/paste del código de dichos métodos de una clase a otra pueda devenir en errores; de esta forma, limitaremos la posibilidad de los mismos.
2. Entorno.
El tutorial está escrito usando el siguiente entorno:
- Hardware: Portátil MacBook Pro 15′ (2.4 GHz Intel Core i7, 8GB DDR3 SDRAM).
- Sistema Operativo: Mac OS X Lion 10.7.4
- Eclipse Juno
3. Creación de las plantillas.
Para crear las plantillas desde las preferencias de Eclipse > Java > Editor > Templates podemos añadir las nuestras y el código propuesto es el siguiente:
3.1. Método hashCode.
Para el método hashCode:
${:import(org.apache.commons.lang.builder.HashCodeBuilder)} @Override public int hashCode() { final HashCodeBuilder hcb = new HashCodeBuilder(); hcb.append(this.get${enclosing_method}); return hcb.toHashCode(); }
De modo que quedaría como sigue:
3.2. Método equals.
Para el método equals:
${:import(org.apache.commons.lang.builder.EqualsBuilder)} @Override public boolean equals(Object obj) { if (!(obj instanceof ${enclosing_type})) { return false; } final ${enclosing_type} other = (${enclosing_type})obj; final EqualsBuilder eqb = new EqualsBuilder(); eqb.append(this.get${field}, other.get${field}); return eqb.isEquals(); }
De modo que quedaría como sigue:
4. Uso de las plantillas.
Para hacer uso de las plantillas no hay más que comenzar a escribir el nombre y pulsar CTRL + espacio:
5. Conclusiones.
Sin más, intentamos reducir las posibilidades de cometer un error y, para ello, tenemos que conocer y explotar las herramientas con las que trabajamos.
Un saludo.
Jose