Contexte rapideComment décorer un objet en Java
J'ai deux listes de (grandes) POJO étant passés pour une méthode dans laquelle j'ai besoin pour garantir l'unicité dans les deux listes. La meilleure solution que je peux voir est de construire deux ensembles et de vérifier que leur intersection est vide.
Le problème
Pour le contexte de cette méthode, et cette seule méthode, je dois remplacer la méthode equals
et hashcode
des POJO en question.
Ce que je suis à la recherche
Cela semble être un premier candiate pour décorer les objets existants. J'ai regardé Guava's ForwardingObject mais il semble mieux adapté pour déléguer des objets qui implémentent une interface donnée ce qui n'est pas mon cas. En général, je suis à la recherche d'une solution qui ...
- Évite de gérer tous les champs du grand POJO (constructeurs de copie).
- facile à comprendre et à maintenir
- Évite la création d'une nouvelle classe qui étend la POJO pour le bien de celui-ci méthode
Êtes-vous en train de dire que les POJOs ne mettent pas en oeuvre d'égal à égal et de hashcode pour le moment et vous ne pouvez pas les changer pour le faire? –
Le motif décorateur n'a vraiment pas trop de sens sans une interface commune. L'extension de la classe est "beurk". –
@Eric: Non, je suis en train de dire que les égalités et les hash-codes du POJO n'ont aucun sens pour cette méthode. Bizarre peut-être mais ce n'est pas la première fois que je voulais définir une égalité contextuelle. –