package com.bergerkiller.bukkit.common.conversion.util;
import java.util.Iterator;
import com.bergerkiller.bukkit.common.conversion.Converter;
/**
* An iterator that dynamically converts the elements as they are iterated
*
* @param <T> - returned element type
*/
public class ConvertingIterator<T> implements Iterator<T> {
private final Iterator<?> iter;
private final Converter<T> converter;
public ConvertingIterator(Iterator<?> iterator, Converter<T> converter) {
this.iter = iterator;
this.converter = converter;
}
@Override
public boolean hasNext() {
return this.iter.hasNext();
}
@Override
public T next() {
return this.converter.convert(this.iter.next());
}
@Override
public void remove() {
this.iter.remove();
}
}