X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2Ffilter%2FPredicateFilter.java;h=b400dc7a609b18d8e41848b2ddee332444e829cb;hb=561637105a339b696676a04e982df5a9b0eed410;hp=1e8c7fa9385a6d20603f6c249fe474689db1284e;hpb=7188da95cfb6dc2bf140eb8ac7e4dc99a0761a97;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java b/src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java index 1e8c7fa..b400dc7 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java +++ b/src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java @@ -50,9 +50,9 @@ public class PredicateFilter extends DummyFilter { * @param metadataPredicate * The predicate to evaluate every time the metadata changes * @param filter - * The filter to use if the predicate matches the metadata */ public PredicateFilter(Predicate metadataPredicate, Filter filter) { + super(String.format("%s (maybe)", filter.name())); this.metadataPredicate = metadataPredicate; this.filter = filter; } @@ -83,6 +83,14 @@ public class PredicateFilter extends DummyFilter { } @Override + public Metadata metadata() { + if (metadataMatches.get()) { + return filter.metadata(); + } + return super.metadata(); + } + + @Override public void metadataUpdated(Metadata metadata) { metadataMatches.set(metadataPredicate.apply(metadata)); if (metadataMatches.get()) { @@ -102,15 +110,6 @@ public class PredicateFilter extends DummyFilter { } @Override - public Metadata metadata() { - if (metadataMatches.get()) { - return filter.metadata(); - } else { - return super.metadata(); - } - } - - @Override public byte[] get(int bufferSize) throws IOException { if (metadataMatches.get()) { return filter.get(bufferSize);