org.omnaest.utils.structure.iterator.decorator
Class LockingIteratorDecorator<E>

java.lang.Object
  extended by org.omnaest.utils.structure.iterator.decorator.IteratorDecorator<E>
      extended by org.omnaest.utils.structure.iterator.decorator.LockingIteratorDecorator<E>
Type Parameters:
E -
All Implemented Interfaces:
Iterator<E>

public class LockingIteratorDecorator<E>
extends IteratorDecorator<E>

IteratorDecorator which uses a Lock instance to synchronize its methods

Author:
Omnaest
See Also:
IterableUtils#lockedIterator(Iterator, Lock), IterableUtils#lockedByReentrantLockIterator(Iterator)

Field Summary
protected  Lock lock
           
 
Fields inherited from class org.omnaest.utils.structure.iterator.decorator.IteratorDecorator
iterator
 
Constructor Summary
LockingIteratorDecorator(Iterator<E> iterator)
          Uses a new ReentrantLock instance as Lock
LockingIteratorDecorator(Iterator<E> iterator, Lock lock)
           
 
Method Summary
 boolean hasNext()
           
 E next()
           
 void remove()
           
 String toString()
           
 
Methods inherited from class org.omnaest.utils.structure.iterator.decorator.IteratorDecorator
getIterator, setIterator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lock

protected final Lock lock
Constructor Detail

LockingIteratorDecorator

public LockingIteratorDecorator(Iterator<E> iterator,
                                Lock lock)
Parameters:
iterator -
lock -
See Also:
LockingIteratorDecorator

LockingIteratorDecorator

public LockingIteratorDecorator(Iterator<E> iterator)
Uses a new ReentrantLock instance as Lock

Parameters:
iterator -
See Also:
LockingIteratorDecorator
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator<E>
Overrides:
hasNext in class IteratorDecorator<E>
See Also:
Iterator.hasNext()

next

public E next()
Specified by:
next in interface Iterator<E>
Overrides:
next in class IteratorDecorator<E>
See Also:
Iterator.next()

remove

public void remove()
Specified by:
remove in interface Iterator<E>
Overrides:
remove in class IteratorDecorator<E>
See Also:
Iterator.remove()

toString

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


Copyright © 2013. All Rights Reserved.