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

org.nakedobjects.metamodel.commons.filters.Filters Maven / Gradle / Ivy

The newest version!
package org.nakedobjects.metamodel.commons.filters;


public final class Filters {

    private Filters() {}

    public static  Filter and(final Filter f1, final Filter f2) {
        return new AbstractFilter() {
            @Override
            public boolean accept(final T f) {
                return f1.accept(f) && f2.accept(f);
            }
        };
    }

    public static  Filter or(final Filter f1, final Filter f2) {
        return new AbstractFilter() {
            @Override
            public boolean accept(final T f) {
                return f1.accept(f) || f2.accept(f);
            }
        };
    }

    public static  Filter not(final Filter f1) {
        return new AbstractFilter() {
            @Override
            public boolean accept(final T f) {
                return !f1.accept(f);
            }
        };
    }

    public static  Filter any() {
        return new AbstractFilter() {

            @Override
            public boolean accept(final T t) {
                return true;
            }
        };
    }

    public static  Filter none() {
        return new AbstractFilter() {
            @Override
            public boolean accept(final T f) {
                return false;
            }
        };
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy