Nuestro proyecto contiene varias clases que tienen métodos equals() y hashCode() generados por Eclipse (clic derecho -> fuente -> generar hashCode() y es igual a()).¿Cómo puedo obtener checkstyle para omitir los métodos equals() y hashcode() generados por eclipse?
Ejemplo:
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final MyTO other = (MyTO) obj; if (num != other.num) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; if (table == null) { if (other.table != null) return false; } else if (!table.equals(other.table)) return false; return true; }
Estos métodos que funcionan bien para nuestra aplicación, pero por desgracia no pasan nuestros cheques complejidad ciclomática con Checkstyle. Dado que estos métodos se generan automáticamente, no nos preocupa su complejidad. Podríamos suprimir toda la clase de Checkstyle, pero preferiríamos poder excluir solo estos dos métodos.
¿Alguien sabe cómo crear una regla personalizada en Checkstyle que nos permita excluir los métodos generados equals() y hashCode() de ninguna manera, sin excluir toda la clase?
No estoy tan familiarizado con SupressionFilters. ¿Cómo puedo determinar qué números de línea excluir para cada archivo según, digamos, el nombre del método? – Brent
Parece que ['SuppressionCommentFilter'] (http://checkstyle.sourceforge.net/config.html#SuppressionCommentFilter) (de ese mismo enlace) es lo que se necesita. Incluso incluye un ejemplo de exclusión de código generado. – matt
Yup matt, i confused'em :). Editado en la respuesta. Ty – mgv