package com.corej2eepatterns.to.lists;

// importy

public class RowSetWrapperList 
implements List, Serializable {

  . . .

  private class DataRowListIterator implements ListIterator {
    int currentRow=0;
    // ustawienie kursora na nastpny wiersz i zwrcenie
    // obiektu transferowego
    public Object next() {
    // pobranie nastpnego obiektu transferowego dla RowSetWrapperList
    currentRow++; 
    return this.get(currentRow);  
  }

  public Object previous() {
    // pobranie obiektu transferowego dla poprzedniego wiersza
    // RowSetWrapperList  
    currentRow--; 
    return this.get(currentRow);  

  }

  // implementacja interfejsu iteratora listy
  public boolean hasNext() {
    // Sprawdzenie pooenia kursora rowSet za pomoc
    // metod isLast, isAfterLast oraz isEmpty i
    // zwrcenie true lub false.
  }

  public boolean hasPrevious() {
    // Sprawdzenie pooenia kursora rowSet za pomoc
    // metod isFirst, isBeforeFirst oraz isEmpty i
    // zwrcenie true lub false.
  }

  // implementacja pozostaych metod ListIterator

  public int nextIndex() {
    . . .
  }

  public int previousIndex() {
    . . .
  }

  // niezaimplementowane opcjonalne metody zgaszaj wyjtek
  // UnsupportedException
  public void set(Object o) {
    throw new UnsupportedOperationException();
  }

  public void add(Object o) {
    throw new UnsupportedOperationException();
  }
  . . .
}