Package org.springframework.util
Class AutoPopulatingList<E>
java.lang.Object
org.springframework.util.AutoPopulatingList<E>
- Type Parameters:
E
- the element type
- All Implemented Interfaces:
Serializable
,Iterable<E>
,Collection<E>
,List<E>
Simple
List
wrapper class that allows for elements to be
automatically populated as they are requested. This is particularly
useful for data binding to Lists
, allowing for elements
to be created and added to the List
in a "just in time" fashion.
Note: This class is not thread-safe. To create a thread-safe version,
use the Collections.synchronizedList(java.util.List<T>)
utility methods.
Inspired by LazyList
from Commons Collections.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Factory interface for creating elements for an index-based access data structure such as aList
.static class
Exception to be thrown from ElementFactory. -
Constructor Summary
ConstructorDescriptionAutoPopulatingList
(Class<? extends E> elementClass) Creates a newAutoPopulatingList
that is backed by a standardArrayList
and adds new instances of the suppliedelement Class
to the backingList
on demand.AutoPopulatingList
(List<E> backingList, Class<? extends E> elementClass) Creates a newAutoPopulatingList
that is backed by the suppliedList
and adds new instances of the suppliedelement Class
to the backingList
on demand.AutoPopulatingList
(List<E> backingList, AutoPopulatingList.ElementFactory<E> elementFactory) Creates a newAutoPopulatingList
that is backed by the suppliedList
and creates new elements on demand using the suppliedAutoPopulatingList.ElementFactory
.AutoPopulatingList
(AutoPopulatingList.ElementFactory<E> elementFactory) Creates a newAutoPopulatingList
that is backed by a standardArrayList
and creates new elements on demand using the suppliedAutoPopulatingList.ElementFactory
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
boolean
boolean
addAll
(int index, Collection<? extends E> c) boolean
addAll
(Collection<? extends E> c) void
clear()
boolean
boolean
containsAll
(Collection<?> c) boolean
get
(int index) Get the element at the supplied index, creating it if there is no element at that index.int
hashCode()
int
boolean
isEmpty()
iterator()
int
listIterator
(int index) remove
(int index) boolean
boolean
removeAll
(Collection<?> c) boolean
retainAll
(Collection<?> c) int
size()
subList
(int fromIndex, int toIndex) Object[]
toArray()
<T> T[]
toArray
(T[] a) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
replaceAll, sort, spliterator
-
Constructor Details
-
AutoPopulatingList
Creates a newAutoPopulatingList
that is backed by a standardArrayList
and adds new instances of the suppliedelement Class
to the backingList
on demand. -
AutoPopulatingList
Creates a newAutoPopulatingList
that is backed by the suppliedList
and adds new instances of the suppliedelement Class
to the backingList
on demand. -
AutoPopulatingList
Creates a newAutoPopulatingList
that is backed by a standardArrayList
and creates new elements on demand using the suppliedAutoPopulatingList.ElementFactory
. -
AutoPopulatingList
Creates a newAutoPopulatingList
that is backed by the suppliedList
and creates new elements on demand using the suppliedAutoPopulatingList.ElementFactory
.
-
-
Method Details
-
add
-
add
-
addAll
-
addAll
-
clear
public void clear() -
contains
-
containsAll
- Specified by:
containsAll
in interfaceCollection<E>
- Specified by:
containsAll
in interfaceList<E>
-
get
Get the element at the supplied index, creating it if there is no element at that index. -
indexOf
-
isEmpty
public boolean isEmpty() -
iterator
-
lastIndexOf
- Specified by:
lastIndexOf
in interfaceList<E>
-
listIterator
- Specified by:
listIterator
in interfaceList<E>
-
listIterator
- Specified by:
listIterator
in interfaceList<E>
-
remove
-
remove
-
removeAll
-
retainAll
-
set
-
size
public int size() -
subList
-
toArray
-
toArray
public <T> T[] toArray(T[] a) -
equals
-
hashCode
public int hashCode()
-