package fr.openwide.core.wicket.more.markup.html.feedback; import org.apache.wicket.Component; import org.apache.wicket.feedback.FeedbackMessage; import org.apache.wicket.feedback.IFeedbackMessageFilter; public class ContainerClassFeedbackMessageFilter<T> implements IFeedbackMessageFilter { private static final long serialVersionUID = -3527902186905319759L; private final Class<T> containerClass; public ContainerClassFeedbackMessageFilter(Class<T> containerClass) { super(); this.containerClass = containerClass; } @Override public final boolean accept(FeedbackMessage message) { Component component = message.getReporter(); T container = null; if (component != null) { if (containerClass.isInstance(component)) { container = containerClass.cast(component); } else { container = component.findParent(containerClass); } } return accept(message, container); } protected boolean accept(FeedbackMessage message, T container) { return container != null; } }