2008-11-11 22 views

Respuesta

11

Tome un vistazo a Commons4E

No ha sido actualizado desde hace tiempo, pero entonces yo no supongo que tiene que cambiar mucho?

Actualización: Acabo de comprobar contra 3.4.1 y funciona bien.

+1

Desde la última actualización de este plugin es a partir de 2006, que sin duda no soporta Apache Commons Lang 3. Por cierto este enlace puede ser más útil: http://wiki.jiayun.org/Commons4E –

2

Puede hacerlo con Plantillas de código en Eclipse.

Aquí hay un solution que encontré con ejemplos de HashCodeBuilder y EqualsBuilder.

Plantilla EqualsBuilder:

public boolean equals(Object o) { 
     boolean result = false; 

     if (this == o) { 
      result = true; 
     } else if (o instanceof $CLASSNAME$) { 
      $CLASSNAME$ other = ($CLASSNAME$) o; 

      result = new org.apache.commons.lang.builder.EqualsBuilder() 
        .append($END$ 
        .isEquals(); 
     } 

     return result; 
    } 

Plantilla HashCodeBuilder:

public int hashCode() { 
     return new org.apache.commons.lang.builder.HashCodeBuilder() 
       .append($END$) 
       .toHashCode(); 
    } 
+0

Qué código la plantilla es para eclipse, o ¿cómo hago una nueva? – daveb

+0

Consulte esta publicación sobre plantillas de código (existentes y nuevas): http://eclipse.dzone.com/news/visual-guide-templates-eclipse –

+0

Ande, su derecho sobre los números primos existentes ... –

3

utilizo el plugin de Eclipse llamado "Commonclipse"

Después de la instalación, aparece un nuevo elemento de menú contextual "commonclipse" cuando haces clic derecho dentro de un archivo fuente java. Puede generar métodos equals, hashcode, toString y compareTo basados ​​en las bibliotecas de Apache commons.

Para instalarlo, utilice esto desde dentro de actualización de Eclipse: http://commonclipse.sourceforge.net

+0

La última actualización de este complemento fue el 16 de abril de 2005 :( –

-1

Eclipse plantillas de código Java para Eclipse 3.5.0, derivado de las plantillas de Bruno Conde:

@Override 
public boolean equals(Object obj) { 
    if (obj == null) { 
     return false; 
    } else if (obj == this) { 
     return true; 
    } else if (obj.getClass() != this.getClass()) { 
     return false; 
    } 

    ${enclosing_type} other = (${enclosing_type}) obj; 
    return new EqualsBuilder()// 
      .appendSuper(super.equals(other))// 
      .append(${cursor})// 
       .isEquals(); 
} 

y

@Override 
public int hashCode() { 
    return new HashCodeBuilder(${cursor})// 
      .append()// 
      .toHashCode(); 
} 
+0

No funciona para mí –

1

Hice esta plantilla comprobando varias respuestas, sitios web y probándola en Eclipse Luna. Vaya a Windows-> Preferencias y luego a Java-> Editor-> Plantillas y agréguela allí.

${:import(org.apache.commons.lang3.builder.HashCodeBuilder, org.apache.commons.lang3.builder.EqualsBuilder)} 
@Override 
public int hashCode() { 
    HashCodeBuilder hashCodeBuilder = new HashCodeBuilder(); 
    hashCodeBuilder.append(${field1:field}); 
    hashCodeBuilder.append(${field2:field}); 
    hashCodeBuilder.append(${field3:field}); 
    hashCodeBuilder.append(${field4:field}); 
    hashCodeBuilder.append(${field5:field}); 
    return hashCodeBuilder.toHashCode(); 
} 

@Override 
public boolean equals(Object obj) { 
    if (this == obj) { 
     return true; 
    } 
    if (obj == null) { 
     return false; 
    } 
    if (getClass() != obj.getClass()) { 
     return false; 
    } 
    ${enclosing_type} rhs = (${enclosing_type}) obj; 
    EqualsBuilder equalsBuilder = new EqualsBuilder(); 
    equalsBuilder.append(${field1}, rhs.${field1}); 
    equalsBuilder.append(${field2}, rhs.${field2}); 
    equalsBuilder.append(${field3}, rhs.${field3}); 
    equalsBuilder.append(${field4}, rhs.${field4}); 
    equalsBuilder.append(${field5}, rhs.${field5});${cursor} 
    return equalsBuilder.isEquals(); 
} 
Cuestiones relacionadas