updated method getFilteredPlantList

This commit is contained in:
schrom01 2022-10-24 12:44:11 +02:00
parent 5b0e472ec7
commit e51da071bc
1 changed files with 3 additions and 11 deletions

View File

@ -4,7 +4,6 @@ import ch.zhaw.gartenverwaltung.types.Plant;
import java.util.Comparator;
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
public class PlantListModel {
@ -17,12 +16,6 @@ public class PlantListModel {
public final Comparator<Plant> getSortById = (Plant o1, Plant o2) -> Long.compare(o1.id(), o2.id());
public final Comparator<Plant> sortBySpacing = (Plant o1, Plant o2) -> o1.spacing() - o2.spacing();
/**
* Functions to get Plant Attribute as String
*/
public final Function<Plant, String> filterByName = Plant::name;
public final Function<Plant, String> filterById = plant -> Long.toString(plant.id());
public PlantListModel(List<Plant> plantList) {
setPlantList(plantList);
@ -51,11 +44,10 @@ public class PlantListModel {
/**
* Method to get filtered Plant List with custom filter
* @param filterString String to search for plants
* @param filterFunction Function Object to get Plant attribute as String which must contain filter String
* @param predicate predicate for filter
* @return filtered Plant List
*/
public List<Plant> getFilteredPlantListbyString(String filterString, Function<Plant, String> filterFunction) {
return plantList.stream().filter(plant -> filterFunction.apply(plant).contains(filterString)).toList();
public List<Plant> getFilteredPlantList(Predicate<Plant> predicate) {
return plantList.stream().filter(predicate).toList();
}
}