
com.speedment.runtime.field.predicate.SpeedmentPredicate Maven / Gradle / Ivy
package com.speedment.runtime.field.predicate;
import com.speedment.runtime.compute.ToBoolean;
import com.speedment.runtime.field.internal.predicate.ComposedPredicateImpl;
import java.util.function.Function;
import java.util.function.Predicate;
/**
* Common interface for all metadata-rich predicates in the Speedment library.
* Speedment predicates typically operates on an entity from a manager generated
* by Speedment.
*
* @author Emil Forslund
* @since 3.1.2
*/
public interface SpeedmentPredicate extends ToBoolean {
@Override
default ComposedPredicate
compose(Function super T, ? extends ENTITY> before) {
return new ComposedPredicateImpl<>(before, this);
}
@Override
default SpeedmentPredicate negate() {
return (t) -> !test(t);
}
@Override
default SpeedmentPredicate and(Predicate super ENTITY> other) {
return CombinedPredicate.and(this, other);
}
@Override
default SpeedmentPredicate or(Predicate super ENTITY> other) {
return CombinedPredicate.or(this, other);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy