Hallo,
ich komme leider wieder einmal nicht weiter.
Ich habe in einer Klasse Spielerbestand folgende Methode:
Nun habe ich noch eine Klasse PlayerFilter, in der verschiedene Filtermöglichkeiten gegeben werden sollen.
Das funktioniert noch, aber jetzt soll ich noch 2 Methoden schreiben die die Filter kombinieren.
public static Predicate<Player> combineAnd(Collection<Predicate<Player>> filters)
Es wird eine Collection der definierten Filter übergeben und Spieler zurückgegeben die alle übergebenen Filter erfüllen(AND) bzw. mindestens einen(OR)
Das man predicates mit .and kombinieren kann habe ich gesehen, aber versteht nicht wie ich das auf die variable Collection anwenden könnte.
Grüße Leonie
ich komme leider wieder einmal nicht weiter.
Ich habe in einer Klasse Spielerbestand folgende Methode:
Java:
public Set<Player> getPlayers(Predicate<Player> filter)
{
Set<Player> result = new HashSet<Player>();
for (Player player : players)
{
if (filter.test( player ))
{
result.add(player);
}
}
return result;
Nun habe ich noch eine Klasse PlayerFilter, in der verschiedene Filtermöglichkeiten gegeben werden sollen.
Java:
public static Predicate<Player> getLastNameFilter(String lastName)
{ Validate.requireNonNullNotEmpty( lastname );
return player -> player.getMetadata().getLastName().orElse( "" ).equals( lastName );
}
Das funktioniert noch, aber jetzt soll ich noch 2 Methoden schreiben die die Filter kombinieren.
public static Predicate<Player> combineAnd(Collection<Predicate<Player>> filters)
Es wird eine Collection der definierten Filter übergeben und Spieler zurückgegeben die alle übergebenen Filter erfüllen(AND) bzw. mindestens einen(OR)
Das man predicates mit .and kombinieren kann habe ich gesehen, aber versteht nicht wie ich das auf die variable Collection anwenden könnte.
Grüße Leonie