Make IFeedbackMessageFilter and IHeaderResponseFilter extending j.u.f.Predicate.
This way one could compose multiple of those if needed Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/1769d457 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/1769d457 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/1769d457 Branch: refs/heads/master Commit: 1769d4570fbc4969bb6ea80407055a3081768549 Parents: c96ffc8 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Jun 20 23:11:58 2016 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Jun 20 23:11:58 2016 +0200 ---------------------------------------------------------------------- .../apache/wicket/feedback/IFeedbackMessageFilter.java | 13 ++++++++++--- .../markup/head/filter/FilteringHeaderResponse.java | 8 +++++++- 2 files changed, 17 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/1769d457/wicket-core/src/main/java/org/apache/wicket/feedback/IFeedbackMessageFilter.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/feedback/IFeedbackMessageFilter.java b/wicket-core/src/main/java/org/apache/wicket/feedback/IFeedbackMessageFilter.java index fccee3e..54a7f7d 100644 --- a/wicket-core/src/main/java/org/apache/wicket/feedback/IFeedbackMessageFilter.java +++ b/wicket-core/src/main/java/org/apache/wicket/feedback/IFeedbackMessageFilter.java @@ -16,6 +16,8 @@ */ package org.apache.wicket.feedback; +import java.util.function.Predicate; + import org.apache.wicket.util.io.IClusterable; /** @@ -24,17 +26,17 @@ import org.apache.wicket.util.io.IClusterable; * @author Jonathan Locke */ @FunctionalInterface -public interface IFeedbackMessageFilter extends IClusterable +public interface IFeedbackMessageFilter extends IClusterable, Predicate<FeedbackMessage> { /** * Filter that returns simply all available messages. */ - IFeedbackMessageFilter ALL = (IFeedbackMessageFilter) message -> true; + IFeedbackMessageFilter ALL = message -> true; /** * Filter that does not match any message */ - IFeedbackMessageFilter NONE = (IFeedbackMessageFilter) message -> false; + IFeedbackMessageFilter NONE = message -> false; /** * @param message @@ -42,4 +44,9 @@ public interface IFeedbackMessageFilter extends IClusterable * @return True if the message should be included, false to exclude it */ boolean accept(FeedbackMessage message); + + @Override + default boolean test(FeedbackMessage message) { + return accept(message); + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/1769d457/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java index 9c79a9a..444bb8c 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java @@ -21,6 +21,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Predicate; import org.apache.wicket.MetaDataKey; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; @@ -65,7 +66,7 @@ public class FilteringHeaderResponse extends DecoratingHeaderResponse * * @author Jeremy Thomerson */ - public static interface IHeaderResponseFilter + public interface IHeaderResponseFilter extends Predicate<HeaderItem> { /** * @return name of the filter (used by the container that renders these resources) @@ -81,6 +82,11 @@ public class FilteringHeaderResponse extends DecoratingHeaderResponse * @return true if it should be bucketed with other things in this filter */ boolean accepts(HeaderItem item); + + @Override + default boolean test(HeaderItem item) { + return accepts(item); + } } /**
