Class GapList.ReadOnlyList<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
org.magicwerk.brownies.collections.IList<E>
org.magicwerk.brownies.collections.GapList<E>
org.magicwerk.brownies.collections.GapList.ReadOnlyList<E>
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<E>
,Collection<E>
,List<E>
,RandomAccess
,SequencedCollection<E>
,ICollection<E>
,IListable<E>
A read-only version of
GapList
.
It is used to implement both unmodifiable and immutable lists.
Note that the client cannot change the list, but the content may change if the underlying list is changed.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.GapList
GapList.ReadOnlyList<E>
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.IList
IList.IListableFromArray<E>, IList.IListableFromCollection<E>, IList.IListableFromList<E>, IList.IListableFromMult<E>, IList.Iter, IList.ListIter
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final long
UID for serializationFields inherited from class org.magicwerk.brownies.collections.GapList
DEFAULT_CAPACITY
Fields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ReadOnlyList
(GapList<E> that) Private constructor used internally. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Helper method for adding an element to the list.protected void
doClear()
protected void
doModify()
This method is called internally before elements are allocated or freed.protected E
doRemove
(int index) Helper method to remove an element.protected void
doRemoveAll
(int index, int len) Remove specified range of elements from list.protected E
Sets an element at specified position.protected E
Helper method for setting an element in the list.private void
error()
Throw exception if an attempt is made to change an immutable list.Methods inherited from class org.magicwerk.brownies.collections.GapList
add, add, binarySearch, calculateNewCapacity, capacity, clone, copy, create, create, create, crop, doAssign, doClone, doCreate, doEnsureCapacity, doGet, doGetAll, doRemoveAllFast, EMPTY, ensureNormalized, get, getAll, getAll, getDefaultElem, immutable, immutable, immutableList, init, init, init, init, isNormalized, isReadOnly, map, prepareAddBuffer, releaseAddBuffer, remove, size, sort, trimToSize, unmodifiableList
Methods inherited from class org.magicwerk.brownies.collections.IList
addAll, addAll, addAll, addAll, addArray, addArray, addArray, addArray, addFirst, addIfAbsent, addLast, addMult, addMult, asDeque, asIListable, binarySearch, checkIndex, checkIndexAdd, checkLength, checkLengths, checkNonNull, checkRange, clear, contains, containsAll, containsAny, containsIf, copy, count, countIf, descendingIterator, doAddAll, doCreateArray, doIndexOf, doIndexOfIf, doInitAll, doLastIndexOf, doLastIndexOfIf, doPutAll, doReplace, doRotate, doTransfer, doTransferSwap, drag, element, ensureCapacity, equals, equalsElem, extract, extractIf, fill, filter, filterMap, flatMap, getDistinct, getFirst, getFirstOrNull, getIf, getLast, getLastOrNull, getSingle, getSingleOrNull, hashCode, hashCodeElem, indexOf, indexOf, indexOfIf, indexOfIf, initAll, initAll, initArray, initMult, isEmpty, iterator, lastIndexOf, lastIndexOf, lastIndexOfIf, lastIndexOfIf, listIterator, listIterator, mapFilter, move, offer, offerFirst, offerLast, peek, peekFirst, peekLast, poll, pollFirst, pollLast, pop, push, put, putAll, putAll, putArray, putMult, remove, remove, remove, removeAll, removeAll, removeAll, removeFirst, removeFirstOccurrence, removeIf, removeLast, removeLastOccurrence, replace, replaceAll, replaceAll, replaceArray, replaceMult, resize, retain, retainAll, retainAll, retainIf, reverse, reverse, rotate, rotate, set, setAll, setAll, setArray, setArray, setMult, sort, swap, toArray, toArray, toArray, toArray, toArray, toArray, toArray, toString, transferCopy, transferMove, transferRemove, transferSwap, transform, transformedList
Methods inherited from class java.util.AbstractList
removeRange, subList
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
Methods inherited from interface java.util.List
replaceAll, reversed, spliterator, subList
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDUID for serialization- See Also:
-
-
Constructor Details
-
ReadOnlyList
Private constructor used internally.- Parameters:
that
- list to create an immutable view of
-
-
Method Details
-
doAdd
Description copied from class:IList
Helper method for adding an element to the list. This is the only method which really adds an element. Override if you need to validity checks before adding. -
doSet
Description copied from class:IList
Helper method for setting an element in the list. This is the only method which really sets an element. Override if you need to validity checks before setting. -
doReSet
Description copied from class:IList
Sets an element at specified position. This method is used internally if existing elements will be moved etc. Override if you need to validity checks. -
doRemove
Description copied from class:IList
Helper method to remove an element. This is the only method which really removes an element. Override if you need to validity checks before removing. -
doRemoveAll
protected void doRemoveAll(int index, int len) Description copied from class:IList
Remove specified range of elements from list.- Overrides:
doRemoveAll
in classGapList<E>
- Parameters:
index
- index of first element to removelen
- number of elements to remove
-
doClear
protected void doClear() -
doModify
protected void doModify()Description copied from class:IList
This method is called internally before elements are allocated or freed. Override if you need to validity checks. -
error
private void error()Throw exception if an attempt is made to change an immutable list.
-