[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;
|
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.*;
|
||||||
import li.strolch.model.activity.Activity;
|
import li.strolch.model.activity.Activity;
|
||||||
import li.strolch.model.parameter.Parameter;
|
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.persistence.api.StrolchTransaction;
|
||||||
import li.strolch.utils.iso8601.ISO8601FormatFactory;
|
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
|
* 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) {
|
public static <T extends StrolchRootElement> SearchExpression<T> paramNull(String paramId) {
|
||||||
return paramNull(BAG_PARAMETERS, paramId);
|
return paramNull(BAG_PARAMETERS, paramId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
package li.strolch.search;
|
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.Order;
|
||||||
import li.strolch.model.Resource;
|
import li.strolch.model.Resource;
|
||||||
import li.strolch.model.StrolchRootElement;
|
import li.strolch.model.StrolchRootElement;
|
||||||
import li.strolch.model.activity.Activity;
|
import li.strolch.model.activity.Activity;
|
||||||
import li.strolch.persistence.api.StrolchTransaction;
|
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
|
* 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);
|
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) {
|
default ExpressionBuilder relation(String paramId) {
|
||||||
return ExpressionsSupport.param(BAG_RELATIONS, paramId);
|
return ExpressionsSupport.param(BAG_RELATIONS, paramId);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue