Package hudson.util

Class CopyOnWriteList<E>

java.lang.Object
hudson.util.CopyOnWriteList<E>
All Implemented Interfaces:
Iterable<E>

public class CopyOnWriteList<E> extends Object implements Iterable<E>
List-like implementation that has copy-on-write semantics.

This class is suitable where highly concurrent access is needed, yet the write operation is relatively uncommon.

Author:
Kohsuke Kawaguchi
  • Constructor Details

    • CopyOnWriteList

      public CopyOnWriteList(List<E> core)
    • CopyOnWriteList

      public CopyOnWriteList()
  • Method Details

    • add

      public void add(E e)
    • addAll

      public void addAll(Collection<? extends E> items)
    • remove

      public boolean remove(E e)
      Removes an item from the list.
      Returns:
      true if the list contained the item. False if it didn't, in which case there's no change.
    • iterator

      public Iterator<E> iterator()
      Returns an iterator.
      Specified by:
      iterator in interface Iterable<E>
    • replaceBy

      public void replaceBy(CopyOnWriteList<? extends E> that)
      Completely replaces this list by the contents of the given list.
    • replaceBy

      public void replaceBy(Collection<? extends E> that)
      Completely replaces this list by the contents of the given list.
    • replaceBy

      public void replaceBy(E... that)
      Completely replaces this list by the contents of the given list.
    • clear

      public void clear()
    • toArray

      public <T> T[] toArray(T[] array)
    • getView

      public List<E> getView()
    • addAllTo

      public void addAllTo(Collection<? super E> dst)
    • get

      public E get(int index)
    • isEmpty

      public boolean isEmpty()
    • size

      public int size()
    • contains

      public boolean contains(Object item)
    • toString

      public String toString()
      Overrides:
      toString in class Object