E - The type of event this history contains.public abstract class AbstractUserHistory<E extends Event> extends AbstractList<E> implements UserHistory<E>
UserHistory to provide default
implementations of convenience methods.modCount| Constructor and Description |
|---|
AbstractUserHistory() |
| Modifier and Type | Method and Description |
|---|---|
LongSet |
itemSet()
Get the set of items touched by events in this history.
|
<T> T |
memoize(Function<? super UserHistory<E>,? extends T> func)
Apply a function to this history, memoizing its return value.
|
add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subListaddAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitfilter, filter, getUserIdadd, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArrayparallelStream, removeIf, streampublic LongSet itemSet()
UserHistoryitemSet in interface UserHistory<E extends Event>public <T> T memoize(Function<? super UserHistory<E>,? extends T> func)
UserHistoryFunction.equals(Object) and Object.hashCode() methods
in order for memoization to work well.
This method is not guaranteed to be synchronized. It is safe to memoize
distinct functions in parallel, but potentially-parallel use of the same
function must be synchronized by client code or the function may be called
twice. The implementation in AbstractUserHistory uses a
ConcurrentHashMap. Multiple calls are therefore safe, but may
result in extra work. All implementations must maintain this safety
guarantee, although they may do so by synchronizing this method.
memoize in interface UserHistory<E extends Event>T - The return type of the function.func - The function to call and memoize.