[New] Added new SearchExpression extract(Function<T, Object>)
This commit is contained in:
parent
23054a5bad
commit
83f575de41
|
@ -1,10 +1,5 @@
|
|||
package li.strolch.search;
|
||||
|
||||
import static li.strolch.model.StrolchModelConstants.*;
|
||||
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import li.strolch.model.*;
|
||||
import li.strolch.model.activity.Activity;
|
||||
import li.strolch.model.parameter.Parameter;
|
||||
|
@ -12,6 +7,11 @@ import li.strolch.model.parameter.StringParameter;
|
|||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
import li.strolch.utils.iso8601.ISO8601FormatFactory;
|
||||
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import static li.strolch.model.StrolchModelConstants.*;
|
||||
|
||||
/**
|
||||
* Implements search expressions to be statically imported when writing searches
|
||||
*/
|
||||
|
@ -148,6 +148,13 @@ public class ExpressionsSupport {
|
|||
};
|
||||
}
|
||||
|
||||
public static <T extends StrolchRootElement> ExpressionBuilder extract(Function<T, Object> extractor) {
|
||||
return element -> {
|
||||
@SuppressWarnings("unchecked") T e = (T) element;
|
||||
return extractor.apply(e);
|
||||
};
|
||||
}
|
||||
|
||||
public static <T extends StrolchRootElement> SearchExpression<T> paramNull(String paramId) {
|
||||
return paramNull(BAG_PARAMETERS, paramId);
|
||||
}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
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;
|
||||
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import static li.strolch.model.StrolchModelConstants.BAG_PARAMETERS;
|
||||
import static li.strolch.model.StrolchModelConstants.BAG_RELATIONS;
|
||||
|
||||
/**
|
||||
* Declares specific search expressions, i.e. extracting the relevant data for a where clause
|
||||
*/
|
||||
|
@ -77,6 +77,10 @@ public interface SearchExpressions {
|
|||
return ExpressionsSupport.param(BAG_PARAMETERS, paramId);
|
||||
}
|
||||
|
||||
default <T extends StrolchRootElement> ExpressionBuilder extract(Function<T, Object> extractor) {
|
||||
return ExpressionsSupport.extract(extractor);
|
||||
}
|
||||
|
||||
default ExpressionBuilder relation(String paramId) {
|
||||
return ExpressionsSupport.param(BAG_RELATIONS, paramId);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue