package org.osgl.util;
import org.osgl.$;
import java.util.ListIterator;
/**
* Created by luog on 13/12/13.
*/
class MappedListIterator<T, R> extends MappedIterator<T, R> implements ListIterator<R> {
MappedListIterator
(ListIterator<? extends T> itr, $.Function<? super T, ? extends R> mapper) {
super(itr, mapper);
}
@Override
protected ListIterator<? extends T> data() {
return (ListIterator<? extends T>)super.data();
}
@Override
public boolean hasPrevious() {
return data().hasPrevious();
}
@Override
public R previous() {
return mapper().apply(data().previous());
}
@Override
public int nextIndex() {
return data().nextIndex();
}
@Override
public int previousIndex() {
return data().previousIndex();
}
@Override
public void set(R r) {
throw new UnsupportedOperationException();
}
@Override
public void add(R r) {
throw new UnsupportedOperationException();
}
}