Java: список < E > реализация декоратора с уведомлением
-
06-07-2019 - |
Вопрос
Мне нужно реализовать класс декоратора списка, который уведомляет зарегистрированных слушателей в случае каких-либо изменений в списке. Я вложил в подкласс AbstractListDecorator
из org.apache.commons.collections15 и переопределить такие методы, как add ()
, addAll ()
, remove (int)
, remove (E)
и т. д. с моим уведомлением. Р>
Но в этом есть некоторые пробелы - например, при итерации по умолчанию по списку AbstractListDecorator.iterator ()
и при вызове метода Iterator.remove ()
, либо переопределяя методы remove (int)
или remove (E)
не вызывается.
Есть ли какой-нибудь стандарт и практика безопасности для украшения таких вещей?
Спасибо.
Решение
переопределяет методы iterator () и listIterator () и предоставляет оформленный итератор, который будет уведомлять ваших слушателей всякий раз, когда вызывается метод remove ().