org.omnaest.utils.structure.collection.decorator
Class LockingCollectionDecorator<E>

java.lang.Object
  extended by org.omnaest.utils.structure.collection.decorator.CollectionDecorator<E>
      extended by org.omnaest.utils.structure.collection.decorator.LockingCollectionDecorator<E>
Type Parameters:
E -
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>

public class LockingCollectionDecorator<E>
extends CollectionDecorator<E>

A CollectionDecorator which uses a Lock instance to synchronize all methods of an underlying Collection

Author:
Omnaest
See Also:
CollectionUtils.lockedByReentrantLock(Collection), CollectionUtils.locked(Collection, Lock), CollectionDecorator, Serialized Form

Field Summary
protected  Lock lock
           
 
Fields inherited from class org.omnaest.utils.structure.collection.decorator.CollectionDecorator
collection
 
Constructor Summary
LockingCollectionDecorator(Collection<E> collection)
          Uses a new ReentrantLock instance as Lock
LockingCollectionDecorator(Collection<E> collection, Lock lock)
           
 
Method Summary
 boolean add(E e)
           
 boolean addAll(Collection<? extends E> c)
           
 void clear()
           
 boolean contains(Object o)
           
 boolean containsAll(Collection<?> c)
           
 boolean equals(Object o)
           
 int hashCode()
           
 boolean isEmpty()
           
 Iterator<E> iterator()
           
 boolean remove(Object o)
           
 boolean removeAll(Collection<?> c)
           
 boolean retainAll(Collection<?> c)
           
 int size()
           
 Object[] toArray()
           
<T> T[]
toArray(T[] a)
           
 String toString()
           
 
Methods inherited from class org.omnaest.utils.structure.collection.decorator.CollectionDecorator
getCollection, setCollection
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

lock

protected final Lock lock
Constructor Detail

LockingCollectionDecorator

public LockingCollectionDecorator(Collection<E> collection,
                                  Lock lock)
Parameters:
collection -
lock -
See Also:
LockingCollectionDecorator

LockingCollectionDecorator

public LockingCollectionDecorator(Collection<E> collection)
Uses a new ReentrantLock instance as Lock

Parameters:
collection -
See Also:
LockingCollectionDecorator
Method Detail

size

public int size()
Specified by:
size in interface Collection<E>
Overrides:
size in class CollectionDecorator<E>
See Also:
Collection.size()

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection<E>
Overrides:
isEmpty in class CollectionDecorator<E>
See Also:
Collection.isEmpty()

contains

public boolean contains(Object o)
Specified by:
contains in interface Collection<E>
Overrides:
contains in class CollectionDecorator<E>
See Also:
Collection.contains(java.lang.Object)

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>
Overrides:
iterator in class CollectionDecorator<E>
See Also:
Collection.iterator()

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection<E>
Overrides:
toArray in class CollectionDecorator<E>
See Also:
Collection.toArray()

toArray

public <T> T[] toArray(T[] a)
Specified by:
toArray in interface Collection<E>
Overrides:
toArray in class CollectionDecorator<E>
See Also:
java.util.Collection#toArray(T[])

add

public boolean add(E e)
Specified by:
add in interface Collection<E>
Overrides:
add in class CollectionDecorator<E>
See Also:
Collection.add(java.lang.Object)

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<E>
Overrides:
remove in class CollectionDecorator<E>
See Also:
Collection.remove(java.lang.Object)

containsAll

public boolean containsAll(Collection<?> c)
Specified by:
containsAll in interface Collection<E>
Overrides:
containsAll in class CollectionDecorator<E>
See Also:
Collection.containsAll(java.util.Collection)

addAll

public boolean addAll(Collection<? extends E> c)
Specified by:
addAll in interface Collection<E>
Overrides:
addAll in class CollectionDecorator<E>
See Also:
Collection.addAll(java.util.Collection)

removeAll

public boolean removeAll(Collection<?> c)
Specified by:
removeAll in interface Collection<E>
Overrides:
removeAll in class CollectionDecorator<E>
See Also:
Collection.removeAll(java.util.Collection)

retainAll

public boolean retainAll(Collection<?> c)
Specified by:
retainAll in interface Collection<E>
Overrides:
retainAll in class CollectionDecorator<E>
See Also:
Collection.retainAll(java.util.Collection)

clear

public void clear()
Specified by:
clear in interface Collection<E>
Overrides:
clear in class CollectionDecorator<E>
See Also:
Collection.clear()

equals

public boolean equals(Object o)
Specified by:
equals in interface Collection<E>
Overrides:
equals in class CollectionDecorator<E>
See Also:
Collection.equals(java.lang.Object)

hashCode

public int hashCode()
Specified by:
hashCode in interface Collection<E>
Overrides:
hashCode in class CollectionDecorator<E>
See Also:
Collection.hashCode()

toString

public String toString()
Overrides:
toString in class CollectionDecorator<E>


Copyright © 2013. All Rights Reserved.