890 |
|
/** |
891 |
|
* Base class for Iterators for LinkedBlockingDeque |
892 |
|
*/ |
893 |
< |
abstract class AbstractItr implements Iterator<E> { |
893 |
> |
private abstract class AbstractItr implements Iterator<E> { |
894 |
|
/** |
895 |
|
* The next node to return in next |
896 |
|
*/ |
908 |
|
* Node returned by most recent call to next. Needed by remove. |
909 |
|
* Reset to null if this element is deleted by a call to remove. |
910 |
|
*/ |
911 |
< |
Node<E> lastRet; |
911 |
> |
private Node<E> lastRet; |
912 |
> |
|
913 |
> |
AbstractItr() { |
914 |
> |
advance(); // set to initial position |
915 |
> |
} |
916 |
|
|
917 |
|
/** |
918 |
|
* Advances next, or if not yet initialized, sets to first node. |
946 |
|
} |
947 |
|
|
948 |
|
/** Forward iterator */ |
949 |
< |
class Itr extends AbstractItr { |
946 |
< |
Itr() { |
947 |
< |
advance(); |
948 |
< |
} |
949 |
< |
|
949 |
> |
private class Itr extends AbstractItr { |
950 |
|
void advance() { |
951 |
|
final ReentrantLock lock = LinkedBlockingDeque.this.lock; |
952 |
|
lock.lock(); |
962 |
|
/** |
963 |
|
* Descending iterator for LinkedBlockingDeque |
964 |
|
*/ |
965 |
< |
class DescendingItr extends AbstractItr { |
966 |
< |
DescendingItr() { |
967 |
< |
advance(); |
968 |
< |
} |
965 |
> |
private class DescendingItr extends AbstractItr { |
966 |
|
void advance() { |
967 |
|
final ReentrantLock lock = LinkedBlockingDeque.this.lock; |
968 |
|
lock.lock(); |