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);
+               }
        }
 
        /**

Reply via email to