Java: elenco < E > implementazione decoratore con notifica
-
06-07-2019 - |
Domanda
Devo implementare la classe decoratore di elenchi, che avvisa gli ascoltatori registrati in caso di eventuali cambiamenti nell'elenco. Ho sottoclassato AbstractListDecorator
da org.apache.commons.collections15 e sovrascrivi metodi come add ()
, addAll ()
, remove (int)
, remove (E)
e così via con la mia notifica.
Ma ci sono alcuni buchi, ad esempio quando si scorre attraverso l'elenco per impostazione predefinita AbstractListDecorator.iterator ()
e si chiama il metodo Iterator.remove ()
, entrambi metodi annullati remove (int)
o remove (E)
non chiama.
Esistono pratiche standard e di sicurezza per decorare queste cose?
Grazie.
Soluzione
sovrascrive i metodi iterator () e listIterator () e fornisce un iteratore decorato che avviserà i tuoi ascoltatori ogni volta che viene chiamato remove ().