[New] Added new ExpressionsSupport.predicate()

can be used as search.where(predicate(() -> someBool)
This commit is contained in:
Robert von Burg 2019-05-21 14:14:15 +02:00
parent cff48b4a3c
commit b654fd4bf7
2 changed files with 12 additions and 0 deletions

View File

@ -1,5 +1,7 @@
package li.strolch.search;
import java.util.function.Supplier;
import li.strolch.model.*;
import li.strolch.model.activity.Activity;
import li.strolch.model.parameter.Parameter;
@ -14,6 +16,10 @@ public class ExpressionsSupport {
return element -> !expression.matches(element);
}
public static <T extends StrolchRootElement> SearchExpression<T> predicate(Supplier<Boolean> predicate) {
return element -> predicate.get();
}
public static <T extends StrolchRootElement> SearchExpression<T> id(SearchPredicate predicate) {
return element -> predicate.matches(element.getId());
}

View File

@ -1,5 +1,7 @@
package li.strolch.search;
import java.util.function.Supplier;
import li.strolch.model.StrolchRootElement;
/**
@ -13,6 +15,10 @@ public interface SearchExpressions {
return element -> !expression.matches(element);
}
default <T extends StrolchRootElement> SearchExpression<T> predicate(Supplier<Boolean> predicate) {
return ExpressionsSupport.predicate(predicate);
}
default ExpressionBuilder id() {
return ExpressionsSupport.id();
}