All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.oneeyedmen.okeydoke.internal.MappingIterable Maven / Gradle / Ivy

There is a newer version: 2.0.3
Show newest version
package com.oneeyedmen.okeydoke.internal;

import java.util.Iterator;

public abstract class MappingIterable implements Iterable {

    private final Iterable wrapped;

    public MappingIterable(Iterable wrapped) {
        this.wrapped = wrapped;
    }

    @Override
    public Iterator iterator() {
        return new WrappingIterator(wrapped.iterator()) {
            @Override
            public T next() {
                return map(wrapped.next());
            }
        };
    }

    protected abstract T map(U next);
}