java.lang.Object
xyz.cofe.collection.MappedList<FROM,TO>
- All Implemented Interfaces:
java.lang.Iterable<TO>,java.util.Collection<TO>,java.util.List<TO>,CollectionEventPublisher<EventList<TO>,TO>,EventList<TO>,GetReadLock,GetWriteLock,ReadWriteLockSupport,Eterable<TO>,LongScn<EventList<TO>,CollectionEvent<EventList<TO>,TO>>,Scn<EventList<TO>,java.lang.Long,CollectionEvent<EventList<TO>,TO>>
public class MappedList<FROM,TO> extends java.lang.Object implements EventList<TO>
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description voidadd(int index, TO element)Вставляет элемент в определнное место спискаbooleanadd(TO to)Добавляет элемент в списокbooleanaddAll(int index, java.util.Collection<? extends TO> c)Добавляет все элементы в список, в указанную позициюbooleanaddAll(java.util.Collection<? extends TO> c)Добавляет все элементы в списокvoidclear()Удаляет все элементыbooleancontains(java.lang.Object o)Проверяет наличие элемента в коллецииbooleancontainsAll(java.util.Collection<?> c)Проверяет наличие всех элементов в коллецииprotected EventList<TO>createResultList()voidfireCollectionEvent(CollectionEvent<EventList<TO>,TO> event)Рассылка уведомления подписчикамvoidfireDeleted(int index, TO to)Рассылка уведомления подписчикам о удалении элементаvoidfireInserted(int index, TO to)Рассылка уведомления подписчикам о добавлении элементаvoidfireUpdated(int index, TO old, TO current)Рассылка уведомления подписчикам о обновлении элементаTOget(int index)Получение объекта по его индексуintindexOf(java.lang.Object o)Поиск первого индекса элемента в коллекцииbooleanisEmpty()Проверяет что коллекция пустаjava.util.Iterator<TO>iterator()Получение итератора по списку, от начала к концуintlastIndexOf(java.lang.Object o)Поиск последнего индекса элемента в коллекцииjava.util.ListIterator<TO>listIterator()Получение итератора по спискуjava.util.ListIterator<TO>listIterator(int index)Получение итератора по списку,, начала итерации согласно указанному индексуjava.lang.AutoCloseableonChanged(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие изменения/добавления/удаления данныхjava.lang.AutoCloseableonChanged(TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие изменения/добавления/удаления данныхjava.lang.AutoCloseableonDeleted(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие удаления данныхjava.lang.AutoCloseableonDeleted(TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие удаления данныхprotected voidonDeletedResult(int idx, TO deleted)protected voidonDeletedSource(int idx, FROM deleted)java.lang.AutoCloseableonInserted(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие добавления данныхjava.lang.AutoCloseableonInserted(TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие добавления данныхprotected voidonInsertedResult(int idx, TO newItem)protected voidonInsertedSource(int idx, FROM newItem)java.lang.AutoCloseableonUpdated(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие изменения данныхjava.lang.AutoCloseableonUpdated(TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие изменения данныхprotected voidonUpdatedResult(int idx, TO deleted, TO newItem)protected voidonUpdatedSource(int idx, FROM deleted, FROM newItem)TOremove(int index)Удялет элемент из спискаbooleanremove(java.lang.Object o)Удаляет элемент из спискаbooleanremoveAll(java.util.Collection<?> coll)Удаляет указанные элементы из спискаbooleanremoveIf(java.util.function.Predicate<? super TO> filter)Удаление элементов согласно фильтруvoidreplaceAll(java.util.function.UnaryOperator<TO> operator)Замена всех элементовbooleanretainAll(java.util.Collection<?> coll)Удаляет элементы из списока, за исключением указанныхTOset(int index, TO element)Записиывает элемент в определенную позициюintsize()Возвращает кол-во элементов в коллекцииvoidsort(java.util.Comparator<? super TO> c)Сортировка спискаjava.util.List<TO>subList(int fromIndex, int toIndex)Создание проекции спискаjava.util.List<TO>target()Возвращает целевой список, над которым происходят преобразованияjava.lang.Object[]toArray()Создает массив объектов коллеции<T> T[]toArray(T[] a)Создает массив объектов коллецииMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface xyz.cofe.collection.CollectionEventPublisher
addCollectionEvent, addCollectionListener, addCollectionListener, getCollectionEventQueue, getCollectionListeners, hasCollectionListener, listenerHelper, removeCollectionListener, withCollectionEventQueue, withCollectionEventQueueMethods inherited from interface xyz.cofe.iter.Eterable
count, filter, first, limit, map, notNull, product, product, product, product, product, reduce, toList, union, unionMethods inherited from interface xyz.cofe.ecolls.ReadWriteLockSupport
getReadLock, getWriteLock, readLock, readLock, writeLock, writeLockMethods inherited from interface xyz.cofe.scn.Scn
addScnChangedListener, addScnChangedListener, fireScnChanged, fireScnChanged, getScnChangedListeners, hasScnChangedListener, onScn, removeAllScnChangedListeners, removeScnChangedListener, scn, scn, scnListenerHelper
-
Field Details
-
mapping
-
unmapping
-
source
-
result
-
sourceSync
protected volatile boolean sourceSync -
resultSync
protected volatile boolean resultSync
-
-
Constructor Details
-
Method Details
-
createResultList
-
onInsertedSource
-
onUpdatedSource
-
onDeletedSource
-
onInsertedResult
-
onUpdatedResult
-
onDeletedResult
-
target
Возвращает целевой список, над которым происходят преобразования -
onInserted
Добавляет подписчика на событие добавления данных- Specified by:
onInsertedin interfaceEventList<FROM>- Parameters:
ls- подписчик - fn( key:Integer, oldValue:E=null, newValue:E )- Returns:
- отписка от уведомлений
-
onInserted
public java.lang.AutoCloseable onInserted(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие добавления данных- Specified by:
onInsertedin interfaceEventList<FROM>- Parameters:
weak- true - добавить подписчика как weak ссылкуls- подписчик - fn( key:Integer, oldValue:E=null, newValue:E )- Returns:
- отписка от уведомлений
-
onUpdated
Добавляет подписчика на событие изменения данных -
onUpdated
public java.lang.AutoCloseable onUpdated(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие изменения данных -
onDeleted
Добавляет подписчика на событие удаления данных -
onDeleted
public java.lang.AutoCloseable onDeleted(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие удаления данных -
onChanged
Добавляет подписчика на событие изменения/добавления/удаления данных -
onChanged
public java.lang.AutoCloseable onChanged(boolean weak, TripleConsumer<java.lang.Integer,TO,TO> ls)Добавляет подписчика на событие изменения/добавления/удаления данных -
fireCollectionEvent
Description copied from interface:CollectionEventPublisherРассылка уведомления подписчикам- Specified by:
fireCollectionEventin interfaceCollectionEventPublisher<FROM,TO>- Specified by:
fireCollectionEventin interfaceEventList<FROM>- Parameters:
event- уведомление
-
fireInserted
Рассылка уведомления подписчикам о добавлении элемента- Specified by:
fireInsertedin interfaceEventList<FROM>- Parameters:
index- индексto- элемент
-
fireUpdated
Рассылка уведомления подписчикам о обновлении элемента- Specified by:
fireUpdatedin interfaceEventList<FROM>- Parameters:
index- индексold- предыдущее значениеcurrent- текущее значение
-
fireDeleted
Рассылка уведомления подписчикам о удалении элемента- Specified by:
fireDeletedin interfaceEventList<FROM>- Parameters:
index- индексto- элемент
-
size
public int size()Возвращает кол-во элементов в коллекции -
isEmpty
public boolean isEmpty()Проверяет что коллекция пуста -
contains
public boolean contains(java.lang.Object o)Проверяет наличие элемента в коллеции -
toArray
public java.lang.Object[] toArray()Создает массив объектов коллеции -
toArray
public <T> T[] toArray(T[] a)Создает массив объектов коллеции -
containsAll
public boolean containsAll(java.util.Collection<?> c)Проверяет наличие всех элементов в коллеции- Specified by:
containsAllin interfacejava.util.Collection<FROM>- Specified by:
containsAllin interfaceEventList<FROM>- Specified by:
containsAllin interfacejava.util.List<FROM>- Parameters:
c- искомые объекты- Returns:
- true - если все искомые объекты есть в коллеции
-
get
Получение объекта по его индексу -
indexOf
public int indexOf(java.lang.Object o)Поиск первого индекса элемента в коллекции -
lastIndexOf
public int lastIndexOf(java.lang.Object o)Поиск последнего индекса элемента в коллекции- Specified by:
lastIndexOfin interfaceEventList<FROM>- Specified by:
lastIndexOfin interfacejava.util.List<FROM>- Parameters:
o- элемент- Returns:
- индекс или -1, если не найден
-
iterator
Получение итератора по списку, от начала к концу -
listIterator
Получение итератора по списку- Specified by:
listIteratorin interfaceEventList<FROM>- Specified by:
listIteratorin interfacejava.util.List<FROM>- Returns:
- итератор
-
listIterator
Получение итератора по списку,, начала итерации согласно указанному индексу- Specified by:
listIteratorin interfaceEventList<FROM>- Specified by:
listIteratorin interfacejava.util.List<FROM>- Parameters:
index- индекс начала итерирования- Returns:
- итератор
-
subList
Создание проекции списка -
add
Добавляет элемент в список -
remove
public boolean remove(java.lang.Object o)Удаляет элемент из списка -
addAll
Добавляет все элементы в список -
addAll
Добавляет все элементы в список, в указанную позицию -
removeAll
public boolean removeAll(java.util.Collection<?> coll)Удаляет указанные элементы из списка -
retainAll
public boolean retainAll(java.util.Collection<?> coll)Удаляет элементы из списока, за исключением указанных -
clear
public void clear()Удаляет все элементы -
set
Записиывает элемент в определенную позицию -
add
Вставляет элемент в определнное место списка -
remove
Удялет элемент из списка -
replaceAll
Замена всех элементов- Specified by:
replaceAllin interfaceEventList<FROM>- Specified by:
replaceAllin interfacejava.util.List<FROM>- Parameters:
operator- функция замены
-
sort
Сортировка списка -
removeIf
Удаление элементов согласно фильтру
-