[New] Added ExpressionsSupport.predicate() and .map*()
This commit is contained in:
parent
fcb0e1fdc0
commit
1ce493e9cb
|
@ -3,6 +3,7 @@ package li.strolch.search;
|
|||
import static li.strolch.model.StrolchModelConstants.BAG_PARAMETERS;
|
||||
import static li.strolch.model.StrolchModelConstants.BAG_RELATIONS;
|
||||
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import li.strolch.model.*;
|
||||
|
@ -25,6 +26,22 @@ public class ExpressionsSupport {
|
|||
return element -> predicate.get();
|
||||
}
|
||||
|
||||
public static <T extends StrolchRootElement> SearchExpression<T> predicate(Function<T, Boolean> predicate) {
|
||||
return predicate::apply;
|
||||
}
|
||||
|
||||
public static ExpressionBuilder mapResource(Function<Resource, Object> extractor) {
|
||||
return t -> extractor.apply((Resource) t);
|
||||
}
|
||||
|
||||
public static ExpressionBuilder mapOrder(Function<Order, Object> extractor) {
|
||||
return t -> extractor.apply((Order) t);
|
||||
}
|
||||
|
||||
public static ExpressionBuilder mapActivity(Function<Activity, Object> extractor) {
|
||||
return t -> extractor.apply((Activity) t);
|
||||
}
|
||||
|
||||
public static <T extends StrolchRootElement> SearchExpression<T> id(SearchPredicate predicate) {
|
||||
return element -> predicate.matches(element.getId());
|
||||
}
|
||||
|
@ -38,7 +55,7 @@ public class ExpressionsSupport {
|
|||
}
|
||||
|
||||
public static <T extends StrolchRootElement> ExpressionBuilder name() {
|
||||
return StrolchElement::getName;
|
||||
return element -> element.getName();
|
||||
}
|
||||
|
||||
public static <T extends StrolchRootElement> SearchExpression<T> date(SearchPredicate predicate) {
|
||||
|
|
|
@ -3,9 +3,13 @@ package li.strolch.search;
|
|||
import static li.strolch.model.StrolchModelConstants.BAG_PARAMETERS;
|
||||
import static li.strolch.model.StrolchModelConstants.BAG_RELATIONS;
|
||||
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import li.strolch.model.Order;
|
||||
import li.strolch.model.Resource;
|
||||
import li.strolch.model.StrolchRootElement;
|
||||
import li.strolch.model.activity.Activity;
|
||||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
|
||||
/**
|
||||
|
@ -21,6 +25,22 @@ public interface SearchExpressions {
|
|||
return ExpressionsSupport.predicate(predicate);
|
||||
}
|
||||
|
||||
default <T extends StrolchRootElement> SearchExpression<T> predicate(Function<T, Boolean> predicate) {
|
||||
return ExpressionsSupport.predicate(predicate);
|
||||
}
|
||||
|
||||
default ExpressionBuilder mapResource(Function<Resource, Object> extractor) {
|
||||
return t -> extractor.apply((Resource) t);
|
||||
}
|
||||
|
||||
default ExpressionBuilder mapOrder(Function<Order, Object> extractor) {
|
||||
return t -> extractor.apply((Order) t);
|
||||
}
|
||||
|
||||
default ExpressionBuilder mapActivity(Function<Activity, Object> extractor) {
|
||||
return t -> extractor.apply((Activity) t);
|
||||
}
|
||||
|
||||
default ExpressionBuilder id() {
|
||||
return ExpressionsSupport.id();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue