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

org.simpleflatmapper.util.PredicatedEnumerable Maven / Gradle / Ivy

Go to download

Java library to map flat record - ResultSet, csv - to java object with minimum configuration and low footprint.

There is a newer version: 9.0.2
Show newest version
package org.simpleflatmapper.util;

public class PredicatedEnumerable implements Enumerable {

    private final Enumerable delegate;
    private final Predicate predicate;
 
    public PredicatedEnumerable(Enumerable delegate, Predicate predicate) {
        if (delegate instanceof PredicatedEnumerable) {
            PredicatedEnumerable pe = (PredicatedEnumerable) delegate;
            this.delegate = pe.delegate;
            this.predicate = new AndPredicate(pe.predicate, predicate);
        } else {
            this.delegate = delegate;
            this.predicate = predicate;
        }
    }

    @Override
    public boolean next() {
        while (delegate.next()) {
            if (predicate.test(delegate.currentValue())) {
                return true;
            }
        }
        return false;
    }

    @Override
    public T currentValue() {
        return delegate.currentValue();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy