[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_PARAMETERS;
|
||||||
import static li.strolch.model.StrolchModelConstants.BAG_RELATIONS;
|
import static li.strolch.model.StrolchModelConstants.BAG_RELATIONS;
|
||||||
|
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import li.strolch.model.*;
|
import li.strolch.model.*;
|
||||||
|
@ -25,6 +26,22 @@ public class ExpressionsSupport {
|
||||||
return element -> predicate.get();
|
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) {
|
public static <T extends StrolchRootElement> SearchExpression<T> id(SearchPredicate predicate) {
|
||||||
return element -> predicate.matches(element.getId());
|
return element -> predicate.matches(element.getId());
|
||||||
}
|
}
|
||||||
|
@ -38,7 +55,7 @@ public class ExpressionsSupport {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends StrolchRootElement> ExpressionBuilder name() {
|
public static <T extends StrolchRootElement> ExpressionBuilder name() {
|
||||||
return StrolchElement::getName;
|
return element -> element.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends StrolchRootElement> SearchExpression<T> date(SearchPredicate predicate) {
|
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_PARAMETERS;
|
||||||
import static li.strolch.model.StrolchModelConstants.BAG_RELATIONS;
|
import static li.strolch.model.StrolchModelConstants.BAG_RELATIONS;
|
||||||
|
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
import li.strolch.model.Order;
|
||||||
|
import li.strolch.model.Resource;
|
||||||
import li.strolch.model.StrolchRootElement;
|
import li.strolch.model.StrolchRootElement;
|
||||||
|
import li.strolch.model.activity.Activity;
|
||||||
import li.strolch.persistence.api.StrolchTransaction;
|
import li.strolch.persistence.api.StrolchTransaction;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,6 +25,22 @@ public interface SearchExpressions {
|
||||||
return ExpressionsSupport.predicate(predicate);
|
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() {
|
default ExpressionBuilder id() {
|
||||||
return ExpressionsSupport.id();
|
return ExpressionsSupport.id();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue