Java: Lista < E > implementación del decorador con notificación
-
06-07-2019 - |
Pregunta
Necesito implementar la clase de decorador List, que notifica a los oyentes registrados en caso de cualquier cambio en la lista. He subclasificado AbstractListDecorator
de org.apache.commons.collections15 y anula métodos como add ()
, addAll ()
, remove (int)
, remove (E)
y así sucesivamente con mi notificación.
Pero hay algunos agujeros, por ejemplo, al iterar por List de forma predeterminada AbstractListDecorator.iterator ()
y llamar al método Iterator.remove ()
, ya sea métodos anulados remove (int)
o remove (E)
no llama.
¿Existe alguna práctica estándar y de seguridad para decorar tales cosas?
Gracias.
Solución
anula los métodos iterator () y listIterator () y proporciona un iterador decorado que notificará a los oyentes cada vez que se llame a remove ().