org.jibx.runtime.impl
Class ArrayRangeIterator

java.lang.Object
  extended byorg.jibx.runtime.impl.ArrayRangeIterator
All Implemented Interfaces:
java.util.Iterator

public class ArrayRangeIterator
extends java.lang.Object
implements java.util.Iterator

Iterator class for values contained in an array range. This type of iterator can be used for any contiguous range of items in an object array.

Version:
1.1
Author:
Dennis M. Sosnoski

Field Summary
static ArrayRangeIterator EMPTY_ITERATOR
          Empty iterator used whenever possible.
protected  java.lang.Object[] m_array
          Array supplying values for iteration.
protected  int m_limit
          Ending offset for values.
protected  int m_offset
          Offset of next iteration value.
 
Constructor Summary
private ArrayRangeIterator(java.lang.Object[] array, int start, int limit)
          Internal constructor.
 
Method Summary
static java.util.Iterator buildIterator(java.lang.Object[] array, int start, int limit)
          Build iterator.
 boolean hasNext()
          Check for iteration element available.
 java.lang.Object next()
          Get next iteration element.
 void remove()
          Remove element from iteration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_ITERATOR

public static final ArrayRangeIterator EMPTY_ITERATOR
Empty iterator used whenever possible.


m_array

protected java.lang.Object[] m_array
Array supplying values for iteration.


m_offset

protected int m_offset
Offset of next iteration value.


m_limit

protected int m_limit
Ending offset for values.

Constructor Detail

ArrayRangeIterator

private ArrayRangeIterator(java.lang.Object[] array,
                           int start,
                           int limit)
Internal constructor.

Parameters:
array - array containing values to be iterated
start - starting offset in array
limit - offset past end of values
Method Detail

hasNext

public boolean hasNext()
Check for iteration element available.

Specified by:
hasNext in interface java.util.Iterator
Returns:
true if element available, false if not

next

public java.lang.Object next()
Get next iteration element.

Specified by:
next in interface java.util.Iterator
Returns:
next iteration element
Throws:
java.util.NoSuchElementException - if past end of iteration

remove

public void remove()
Remove element from iteration. This optional operation is not supported and always throws an exception.

Specified by:
remove in interface java.util.Iterator
Throws:
java.lang.UnsupportedOperationException - for unsupported operation

buildIterator

public static java.util.Iterator buildIterator(java.lang.Object[] array,
                                               int start,
                                               int limit)
Build iterator.

Parameters:
array - array containing values to be iterated (may be null)
start - starting offset in array
limit - offset past end of values
Returns:
constructed iterator


Project Web Site