Oracle® Coherence Java API Reference
v3.5.3

E15583-01

com.tangosol.util
Class AbstractSparseArray.Crawler

java.lang.Object
  extended by com.tangosol.util.AbstractSparseArray.Crawler
All Implemented Interfaces:
LongArray.Iterator, java.lang.Cloneable, java.util.Iterator
Direct Known Subclasses:
PrimitiveSparseArray.Iterator
Enclosing class:
AbstractSparseArray

protected class AbstractSparseArray.Crawler
extends java.lang.Object
implements LongArray.Iterator, java.lang.Cloneable

A tree node iterator. The methods of this local class are not synchronized; the enclosing class is responsible for synchronization.


Field Summary
protected static int ABOVE
           
protected  AbstractSparseArray.Node current
           
protected  boolean fForward
           
protected  int fromdir
           
protected static int LEFT
           
protected static int RIGHT
           
protected static int SITTING
           
 
Constructor Summary
protected AbstractSparseArray.Crawler(AbstractSparseArray.Node head, int fromdir, boolean fForward)
          Crawler constructor.
 
Method Summary
 java.lang.Object clone()
          Make a shallow copy of the node crawler.
protected  AbstractSparseArray.Node currentNode()
          Returns the current Node in the iteration.
 long getIndex()
          Returns the index of the current value, which is the value returned by the most recent call to the next method.
 java.lang.Object getValue()
          Returns the current value, which is the same value returned by the most recent call to the next method, or the most recent value passed to setValue if setValue were called after the next method.
 boolean hasNext()
          Returns true if the iteration has more elements.
 java.lang.Object next()
          Returns the next element in the iteration.
protected  AbstractSparseArray.Node nextNode()
          Returns the next Node in the iteration.
 void remove()
          Removes from the underlying collection the last element returned by the iterator (optional operation).
 java.lang.Object setValue(java.lang.Object oValue)
          Stores a new value at the current value index, returning the value that was replaced.
 java.lang.String toString()
          Provide a string representation of this node's value.
 

Field Detail

ABOVE

protected static final int ABOVE
See Also:
Constant Field Values

LEFT

protected static final int LEFT
See Also:
Constant Field Values

SITTING

protected static final int SITTING
See Also:
Constant Field Values

RIGHT

protected static final int RIGHT
See Also:
Constant Field Values

current

protected AbstractSparseArray.Node current

fromdir

protected int fromdir

fForward

protected boolean fForward
Constructor Detail

AbstractSparseArray.Crawler

protected AbstractSparseArray.Crawler(AbstractSparseArray.Node head,
                                      int fromdir,
                                      boolean fForward)
Crawler constructor.

Method Detail

hasNext

public boolean hasNext()
Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Specified by:
hasNext in interface LongArray.Iterator
Specified by:
hasNext in interface java.util.Iterator
Returns:
true if the iterator has more elements

next

public java.lang.Object next()
Returns the next element in the iteration.

Specified by:
next in interface LongArray.Iterator
Specified by:
next in interface java.util.Iterator
Returns:
the next element in the iteration
Throws:
java.util.NoSuchElementException - iteration has no more elements

getIndex

public long getIndex()
Returns the index of the current value, which is the value returned by the most recent call to the next method.

Specified by:
getIndex in interface LongArray.Iterator
Throws:
java.lang.IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method.

getValue

public java.lang.Object getValue()
Returns the current value, which is the same value returned by the most recent call to the next method, or the most recent value passed to setValue if setValue were called after the next method.

Specified by:
getValue in interface LongArray.Iterator
Returns:
the current value
Throws:
java.lang.IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method.

setValue

public java.lang.Object setValue(java.lang.Object oValue)
Stores a new value at the current value index, returning the value that was replaced. The index of the current value is obtainable by calling the getIndex method.

Specified by:
setValue in interface LongArray.Iterator
Returns:
the replaced value
Throws:
java.lang.IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method.

remove

public void remove()
Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Specified by:
remove in interface LongArray.Iterator
Specified by:
remove in interface java.util.Iterator
Throws:
java.lang.UnsupportedOperationException - if the remove operation is not supported by this Iterator
java.lang.IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method.

toString

public java.lang.String toString()
Provide a string representation of this node's value.


clone

public java.lang.Object clone()
Make a shallow copy of the node crawler.


nextNode

protected AbstractSparseArray.Node nextNode()
Returns the next Node in the iteration.

Returns:
the next Node in the iteration
Throws:
java.util.NoSuchElementException - iteration has no more elements

currentNode

protected AbstractSparseArray.Node currentNode()
Returns the current Node in the iteration.

Returns:
the current Node in the iteration
Throws:
java.lang.IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method.

Oracle® Coherence Java API Reference
v3.5.3

E15583-01

Copyright © 2000, 2010, Oracle. All rights reserved.