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>, SequencedCollection<E>

@Deprecated(since="7.1", forRemoval=true) public class AutoPopulatingList<E> extends Object implements List<E>, Serializable
Deprecated, for removal: This API element is subject to removal in a future version.
as of 7.1, to be removed in 8.0; rely on the built-in "auto-grow" support for data binding instead; see DataBinder.setAutoGrowNestedPaths(boolean) and DataBinder.setAutoGrowCollectionLimit(int)
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(List) utility methods.

Inspired by LazyList from Commons Collections.

Since:
2.0
Author:
Rob Harrop, Juergen Hoeller
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    Deprecated, for removal: This API element is subject to removal in a future version.
    as of 7.1, along with AutoPopulatingList; to be removed in 8.0
    static class 
    Deprecated, for removal: This API element is subject to removal in a future version.
    as of 7.1, along with AutoPopulatingList; to be removed in 8.0
  • Constructor Summary

    Constructors
    Constructor
    Description
    AutoPopulatingList(Class<? extends E> elementClass)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a new AutoPopulatingList that is backed by a standard ArrayList and adds new instances of the supplied element Class to the backing List on demand.
    AutoPopulatingList(List<E> backingList, Class<? extends E> elementClass)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a new AutoPopulatingList that is backed by the supplied List and adds new instances of the supplied element Class to the backing List on demand.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a new AutoPopulatingList that is backed by the supplied List and creates new elements on demand using the supplied AutoPopulatingList.ElementFactory.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a new AutoPopulatingList that is backed by a standard ArrayList and creates new elements on demand using the supplied AutoPopulatingList.ElementFactory.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(int index, E element)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    add(E o)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    addAll(int index, Collection<? extends E> c)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    addAll(Collection<? extends E> c)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    get(int index)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the element at the supplied index, creating it if there is no element at that index.
    int
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    int
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    int
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    listIterator(int index)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    remove(int index)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    set(int index, E element)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    int
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    subList(int fromIndex, int toIndex)
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    <T> T[]
    toArray(T[] a)
    Deprecated, for removal: This API element is subject to removal in a future version.
     

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface Collection

    parallelStream, removeIf, stream, toArray

    Methods inherited from interface Iterable

    forEach
  • Constructor Details

    • AutoPopulatingList

      public AutoPopulatingList(Class<? extends E> elementClass)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a new AutoPopulatingList that is backed by a standard ArrayList and adds new instances of the supplied element Class to the backing List on demand.
    • AutoPopulatingList

      public AutoPopulatingList(List<E> backingList, Class<? extends E> elementClass)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a new AutoPopulatingList that is backed by the supplied List and adds new instances of the supplied element Class to the backing List on demand.
    • AutoPopulatingList

      public AutoPopulatingList(AutoPopulatingList.ElementFactory<E> elementFactory)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a new AutoPopulatingList that is backed by a standard ArrayList and creates new elements on demand using the supplied AutoPopulatingList.ElementFactory.
    • AutoPopulatingList

      public AutoPopulatingList(List<E> backingList, AutoPopulatingList.ElementFactory<E> elementFactory)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a new AutoPopulatingList that is backed by the supplied List and creates new elements on demand using the supplied AutoPopulatingList.ElementFactory.
  • Method Details

    • add

      public void add(int index, E element)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      add in interface List<E>
    • add

      public boolean add(E o)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      add in interface Collection<E>
      Specified by:
      add in interface List<E>
    • addAll

      public boolean addAll(Collection<? extends E> c)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      addAll in interface Collection<E>
      Specified by:
      addAll in interface List<E>
    • addAll

      public boolean addAll(int index, Collection<? extends E> c)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      addAll in interface List<E>
    • clear

      public void clear()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      clear in interface Collection<E>
      Specified by:
      clear in interface List<E>
    • contains

      public boolean contains(Object o)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      contains in interface Collection<E>
      Specified by:
      contains in interface List<E>
    • containsAll

      public boolean containsAll(Collection<?> c)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      containsAll in interface Collection<E>
      Specified by:
      containsAll in interface List<E>
    • get

      public E get(int index)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Get the element at the supplied index, creating it if there is no element at that index.
      Specified by:
      get in interface List<E>
    • indexOf

      public int indexOf(Object o)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      indexOf in interface List<E>
    • isEmpty

      public boolean isEmpty()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      isEmpty in interface Collection<E>
      Specified by:
      isEmpty in interface List<E>
    • iterator

      public Iterator<E> iterator()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      iterator in interface Collection<E>
      Specified by:
      iterator in interface Iterable<E>
      Specified by:
      iterator in interface List<E>
    • lastIndexOf

      public int lastIndexOf(Object o)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      lastIndexOf in interface List<E>
    • listIterator

      public ListIterator<E> listIterator()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      listIterator in interface List<E>
    • listIterator

      public ListIterator<E> listIterator(int index)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      listIterator in interface List<E>
    • remove

      public E remove(int index)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      remove in interface List<E>
    • remove

      public boolean remove(Object o)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      remove in interface Collection<E>
      Specified by:
      remove in interface List<E>
    • removeAll

      public boolean removeAll(Collection<?> c)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      removeAll in interface Collection<E>
      Specified by:
      removeAll in interface List<E>
    • retainAll

      public boolean retainAll(Collection<?> c)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      retainAll in interface Collection<E>
      Specified by:
      retainAll in interface List<E>
    • set

      public E set(int index, E element)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      set in interface List<E>
    • size

      public int size()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      size in interface Collection<E>
      Specified by:
      size in interface List<E>
    • subList

      public List<E> subList(int fromIndex, int toIndex)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      subList in interface List<E>
    • toArray

      public Object[] toArray()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      toArray in interface Collection<E>
      Specified by:
      toArray in interface List<E>
    • toArray

      public <T> T[] toArray(T[] a)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      toArray in interface Collection<E>
      Specified by:
      toArray in interface List<E>
    • equals

      public boolean equals(@Nullable Object other)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      equals in interface Collection<E>
      Specified by:
      equals in interface List<E>
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Specified by:
      hashCode in interface Collection<E>
      Specified by:
      hashCode in interface List<E>
      Overrides:
      hashCode in class Object