org.omnaest.utils.structure.iterator
Class ListIteratorIndexBased<E>

java.lang.Object
  extended by org.omnaest.utils.structure.iterator.ListIteratorIndexBased<E>
All Implemented Interfaces:
Iterator<E>, ListIterator<E>

public class ListIteratorIndexBased<E>
extends Object
implements ListIterator<E>

Abstract ListIterator implementation which translates the navigation and actions to index position based operations

Author:
Omnaest

Nested Class Summary
static interface ListIteratorIndexBased.ListIteratorIndexBasedSource<E>
           
static class ListIteratorIndexBased.ListToListIteratorSourceAdapter<E>
          Adapter for any List implementation to act as a ListIteratorIndexBased.ListIteratorIndexBasedSource
 
Field Summary
protected  boolean directionForward
           
protected  int indexPosition
           
protected  int indexPositionNext
           
protected  int indexPositionPrevious
           
protected  boolean isIndexPositionValid
           
protected  ListIteratorIndexBased.ListIteratorIndexBasedSource<E> listIteratorIndexBasedSource
           
 
Constructor Summary
ListIteratorIndexBased(List<E> list)
           
ListIteratorIndexBased(ListIteratorIndexBased.ListIteratorIndexBasedSource<E> listIteratorSource)
           
 
Method Summary
 void add(E element)
           
protected  void calculateIndexPositionContext()
          Calculates the indexPositionPrevious , the indexPositionNext and the isIndexPositionValid
 boolean hasNext()
           
 boolean hasPrevious()
           
protected  boolean isValidIndexPosition(int indexPosition)
           
 E next()
           
 int nextIndex()
           
 E previous()
           
 int previousIndex()
           
 void remove()
           
 void set(E element)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

indexPosition

protected int indexPosition

indexPositionNext

protected int indexPositionNext

indexPositionPrevious

protected int indexPositionPrevious

isIndexPositionValid

protected boolean isIndexPositionValid

directionForward

protected boolean directionForward

listIteratorIndexBasedSource

protected ListIteratorIndexBased.ListIteratorIndexBasedSource<E> listIteratorIndexBasedSource
Constructor Detail

ListIteratorIndexBased

public ListIteratorIndexBased(ListIteratorIndexBased.ListIteratorIndexBasedSource<E> listIteratorSource)
Parameters:
listIteratorSource -
See Also:
ListIteratorIndexBased.ListIteratorIndexBasedSource

ListIteratorIndexBased

public ListIteratorIndexBased(List<E> list)
Parameters:
list -
Method Detail

calculateIndexPositionContext

protected void calculateIndexPositionContext()
Calculates the indexPositionPrevious , the indexPositionNext and the isIndexPositionValid


hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator<E>
Specified by:
hasNext in interface ListIterator<E>

isValidIndexPosition

protected boolean isValidIndexPosition(int indexPosition)
Parameters:
indexPosition -
Returns:

next

public E next()
Specified by:
next in interface Iterator<E>
Specified by:
next in interface ListIterator<E>

remove

public void remove()
Specified by:
remove in interface Iterator<E>
Specified by:
remove in interface ListIterator<E>

hasPrevious

public boolean hasPrevious()
Specified by:
hasPrevious in interface ListIterator<E>

previous

public E previous()
Specified by:
previous in interface ListIterator<E>

nextIndex

public int nextIndex()
Specified by:
nextIndex in interface ListIterator<E>

previousIndex

public int previousIndex()
Specified by:
previousIndex in interface ListIterator<E>

set

public void set(E element)
Specified by:
set in interface ListIterator<E>

add

public void add(E element)
Specified by:
add in interface ListIterator<E>


Copyright © 2013. All Rights Reserved.