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;
}
};
}
}