diva.util
Class NullArrayIterator

java.lang.Object
  extended by diva.util.IteratorAdapter
      extended by diva.util.NullArrayIterator
All Implemented Interfaces:
java.util.Iterator
Direct Known Subclasses:
FilteredArrayIterator

public class NullArrayIterator
extends IteratorAdapter

An iterator over a given array which may contain nulls. Any element of the array that is null is not returned, but is skipped over. A null value (of the whole array) is treated as an empty array. This class can be subclassed to implement the remove() method. The method getLastIndex() return the index of the previously returned element.

Version:
$Id: NullArrayIterator.java 47877 2008-01-24 00:35:12Z cxh $
Author:
John Reekie

Field Summary
(package private)  java.lang.Object[] _array
           
(package private)  int _arraylen
           
(package private)  int _lastindex
           
(package private)  int _nextindex
           
 
Constructor Summary
NullArrayIterator(java.lang.Object[] array)
          Construct an iterator over the given array
NullArrayIterator(java.lang.Object[] array, int length)
          Construct an iterator over the given array, where the effective array length is given by the length argument (and must be smaller than the real length of the array).
 
Method Summary
protected  void advance()
          Advance the next index to the next non-null element.
protected  int getLastIndex()
          Return the index of the element last returned.
 boolean hasNext()
          Return true if there are more non-null elements in the array.
 java.lang.Object next()
          Return the next non-null element in the array.
 
Methods inherited from class diva.util.IteratorAdapter
remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_array

java.lang.Object[] _array

_lastindex

int _lastindex

_nextindex

int _nextindex

_arraylen

int _arraylen
Constructor Detail

NullArrayIterator

public NullArrayIterator(java.lang.Object[] array)
Construct an iterator over the given array


NullArrayIterator

public NullArrayIterator(java.lang.Object[] array,
                         int length)
Construct an iterator over the given array, where the effective array length is given by the length argument (and must be smaller than the real length of the array).

Method Detail

advance

protected void advance()
Advance the next index to the next non-null element. Set it to -1 if there are no more elements.


getLastIndex

protected int getLastIndex()
Return the index of the element last returned. This will be -1 if next() hasn't been called yet.


hasNext

public boolean hasNext()
Return true if there are more non-null elements in the array.

Specified by:
hasNext in interface java.util.Iterator
Overrides:
hasNext in class IteratorAdapter

next

public java.lang.Object next()
Return the next non-null element in the array.

Specified by:
next in interface java.util.Iterator
Overrides:
next in class IteratorAdapter