Antecedentes rápidaCómo decorar un objeto en Java
tengo dos listas de (grandes) POJOs ser pasados a un método en el que necesito para garantizar la singularidad a través de las dos listas. La mejor solución que puedo ver es construir dos conjuntos y verificar que su intersección esté vacía.
El problema
Para el contexto de este método, y este método solo, tengo que reemplazar el método de los POJOs en cuestión equals
y hashcode
.
lo que estoy buscando
Este parece ser un primer candiate para decorar los objetos existentes. Miré Guava's ForwardingObject pero parece ser el más adecuado para delegar objetos que implementan una interfaz determinada, que no es mi caso. En general, estoy buscando una solución que ...
- Evita hacer frente a todos los campos en el gran POJO (copia constructores).
- fácil de entender y mantener
- evita la creación de toda una nueva clase que extiende el POJO por el bien de éste método
¿Quiere decir que los POJOs no implementan actualmente iguales y código hash ya y no se puede cambiar para que lo hagan? –
El patrón de decorador realmente no tiene demasiado sentido sin una interfaz común. La extensión de la clase es "¡puaj!" –
@Eric: No, estoy diciendo que los iguales y el código hash de POJO no tienen sentido para este único método. Extraño quizás, pero no es la primera vez que he querido definir una igualdad consciente del contexto. –