WICKET-6281 Listener interfaces' methods should use empty default methods for friendlier extension
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ab1f3c73 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ab1f3c73 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ab1f3c73 Branch: refs/heads/master Commit: ab1f3c734051694841a9336a14659613a15a5e2b Parents: 92369a8 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri Nov 18 22:41:10 2016 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri Nov 18 22:41:10 2016 +0100 ---------------------------------------------------------------------- .../cdi/ICdiAwareRequestCycleListener.java | 6 ++- .../cdi/ICdiAwareRequestCycleListener.java | 6 ++- .../org/apache/wicket/IApplicationListener.java | 6 ++- .../java/org/apache/wicket/IDetachListener.java | 6 ++- .../org/apache/wicket/ISessionListener.java | 6 ++- .../apache/wicket/ajax/AjaxRequestTarget.java | 26 ++++------- .../ajax/attributes/IAjaxCallListener.java | 45 ++++++++++++++++---- .../cycle/AbstractRequestCycleListener.java | 3 ++ .../request/cycle/IRequestCycleListener.java | 31 +++++++++----- .../breadcrumb/IBreadCrumbModelListener.java | 11 +++-- .../extensions/wizard/IWizardModelListener.java | 13 +++--- 11 files changed, 104 insertions(+), 55 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java ---------------------------------------------------------------------- diff --git a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java index d3ded47..a577954 100644 --- a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java +++ b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java @@ -27,7 +27,8 @@ public interface ICdiAwareRequestCycleListener extends IRequestCycleListener * @param cycle * request cycle */ - void onAfterConversationActivated(RequestCycle cycle); + default void onAfterConversationActivated(RequestCycle cycle) + {} /** * Called right before the current conversation context is deactivated @@ -35,5 +36,6 @@ public interface ICdiAwareRequestCycleListener extends IRequestCycleListener * @param cycle * request cycle */ - void onBeforeConversationDeactivated(RequestCycle cycle); + default void onBeforeConversationDeactivated(RequestCycle cycle) + {} } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-cdi/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java ---------------------------------------------------------------------- diff --git a/wicket-cdi/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java b/wicket-cdi/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java index d3ded47..a577954 100644 --- a/wicket-cdi/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java +++ b/wicket-cdi/src/main/java/org/apache/wicket/cdi/ICdiAwareRequestCycleListener.java @@ -27,7 +27,8 @@ public interface ICdiAwareRequestCycleListener extends IRequestCycleListener * @param cycle * request cycle */ - void onAfterConversationActivated(RequestCycle cycle); + default void onAfterConversationActivated(RequestCycle cycle) + {} /** * Called right before the current conversation context is deactivated @@ -35,5 +36,6 @@ public interface ICdiAwareRequestCycleListener extends IRequestCycleListener * @param cycle * request cycle */ - void onBeforeConversationDeactivated(RequestCycle cycle); + default void onBeforeConversationDeactivated(RequestCycle cycle) + {} } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-core/src/main/java/org/apache/wicket/IApplicationListener.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/IApplicationListener.java b/wicket-core/src/main/java/org/apache/wicket/IApplicationListener.java index c6a0ab1..58fa4fc 100644 --- a/wicket-core/src/main/java/org/apache/wicket/IApplicationListener.java +++ b/wicket-core/src/main/java/org/apache/wicket/IApplicationListener.java @@ -28,12 +28,14 @@ public interface IApplicationListener * * @param application */ - void onAfterInitialized(Application application); + default void onAfterInitialized(Application application) + {} /** * Called before application instance is destroyed * * @param application */ - void onBeforeDestroyed(Application application); + default void onBeforeDestroyed(Application application) + {} } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-core/src/main/java/org/apache/wicket/IDetachListener.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/IDetachListener.java b/wicket-core/src/main/java/org/apache/wicket/IDetachListener.java index 8582287..6678931 100644 --- a/wicket-core/src/main/java/org/apache/wicket/IDetachListener.java +++ b/wicket-core/src/main/java/org/apache/wicket/IDetachListener.java @@ -39,10 +39,12 @@ public interface IDetachListener * @param component * component being detached */ - void onDetach(Component component); + default void onDetach(Component component) + {} /** * Called when the application is being destroyed. Useful for cleaning up listener caches, etc. */ - void onDestroyListener(); + default void onDestroyListener() + {} } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-core/src/main/java/org/apache/wicket/ISessionListener.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/ISessionListener.java b/wicket-core/src/main/java/org/apache/wicket/ISessionListener.java index b731f52..8876c93 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ISessionListener.java +++ b/wicket-core/src/main/java/org/apache/wicket/ISessionListener.java @@ -28,7 +28,8 @@ public interface ISessionListener * * @param session */ - void onCreated(Session session); + default void onCreated(Session session) + {} /** * Informs the listener that session with specific id has been unbound. @@ -36,5 +37,6 @@ public interface ISessionListener * @param sessionId * the id of the unbound session */ - void onUnbound(String sessionId); + default void onUnbound(String sessionId) + {} } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java index 1bc4861..0d98dba 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java @@ -47,7 +47,8 @@ public interface AjaxRequestTarget extends IPartialPageRequestHandler, ILoggable * javascript * */ - void onBeforeRespond(Map<String, Component> map, AjaxRequestTarget target); + default void onBeforeRespond(Map<String, Component> map, AjaxRequestTarget target) + {} /** * Triggered after ajax request target is done with its response cycle. At this point only @@ -62,7 +63,8 @@ public interface AjaxRequestTarget extends IPartialPageRequestHandler, ILoggable * @param response * response object that can be used to output javascript */ - void onAfterRespond(Map<String, Component> map, AjaxRequestTarget.IJavaScriptResponse response); + default void onAfterRespond(Map<String, Component> map, AjaxRequestTarget.IJavaScriptResponse response) + {} /** * Triggered for every Ajax behavior. Can be used to configure common settings. @@ -73,29 +75,19 @@ public interface AjaxRequestTarget extends IPartialPageRequestHandler, ILoggable * The attributes for the Ajax behavior * @since 7.0.0 */ - void updateAjaxAttributes(AbstractDefaultAjaxBehavior behavior, AjaxRequestAttributes attributes); + default void updateAjaxAttributes(AbstractDefaultAjaxBehavior behavior, AjaxRequestAttributes attributes) + {} } /** * Empty implementation of an {@link IListener} useful as a starting point for your own * custom listener. + * + * @deprecated This class will be removed in Wicket 9.0.0. Use {@link IListener} instead */ + @Deprecated class AbstractListener implements IListener { - @Override - public void updateAjaxAttributes(AbstractDefaultAjaxBehavior behavior, AjaxRequestAttributes attributes) - { - } - - @Override - public void onBeforeRespond(Map<String, Component> map, AjaxRequestTarget target) - { - } - - @Override - public void onAfterRespond(Map<String, Component> map, IJavaScriptResponse response) - { - } } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/IAjaxCallListener.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/IAjaxCallListener.java b/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/IAjaxCallListener.java index e671c0a..f790f77 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/IAjaxCallListener.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/IAjaxCallListener.java @@ -48,7 +48,10 @@ public interface IAjaxCallListener * the Component with the Ajax behavior * @return the JavaScript that will be executed on initialization of the Ajax call. */ - CharSequence getInitHandler(Component component); + default CharSequence getInitHandler(Component component) + { + return null; + } /** * The JavaScript that will be executed before the Ajax call, as early as possible. Even before @@ -62,7 +65,10 @@ public interface IAjaxCallListener * the Component with the Ajax behavior * @return the JavaScript that will be executed before the Ajax call. */ - CharSequence getBeforeHandler(Component component); + default CharSequence getBeforeHandler(Component component) + { + return null; + } /** * A JavaScript function that is invoked before the request is being executed. If it returns @@ -77,7 +83,10 @@ public interface IAjaxCallListener * @return the JavaScript that should be used to decide whether the Ajax call should be made at * all. */ - CharSequence getPrecondition(Component component); + default CharSequence getPrecondition(Component component) + { + return null; + } /** * The JavaScript that will be executed right before the execution of the the Ajax call, only if all @@ -93,7 +102,10 @@ public interface IAjaxCallListener * the Component with the Ajax behavior * @return the JavaScript that will be executed before the Ajax call. */ - CharSequence getBeforeSendHandler(Component component); + default CharSequence getBeforeSendHandler(Component component) + { + return null; + } /** * The JavaScript that will be executed after the Ajax call. The script will be executed in a @@ -111,7 +123,10 @@ public interface IAjaxCallListener * @return the JavaScript that will be executed after the start of the Ajax call but before its * response is returned. */ - CharSequence getAfterHandler(Component component); + default CharSequence getAfterHandler(Component component) + { + return null; + } /** * The JavaScript that will be executed after successful return of the Ajax call. The script @@ -127,7 +142,10 @@ public interface IAjaxCallListener * the Component with the Ajax behavior * @return the JavaScript that will be executed after a successful return of the Ajax call. */ - CharSequence getSuccessHandler(Component component); + default CharSequence getSuccessHandler(Component component) + { + return null; + } /** * The JavaScript that will be executed after unsuccessful return of the Ajax call. The script @@ -143,7 +161,10 @@ public interface IAjaxCallListener * the Component with the Ajax behavior * @return the JavaScript that will be executed after a unsuccessful return of the Ajax call. */ - CharSequence getFailureHandler(Component component); + default CharSequence getFailureHandler(Component component) + { + return null; + } /** * The JavaScript that will be executed after both successful and unsuccessful return of the @@ -159,7 +180,10 @@ public interface IAjaxCallListener * @return the JavaScript that will be executed after both successful and unsuccessful return of * the Ajax call. */ - CharSequence getCompleteHandler(Component component); + default CharSequence getCompleteHandler(Component component) + { + return null; + } /** * The JavaScript that will be executed after the Ajax call is done, regardless whether it was @@ -173,5 +197,8 @@ public interface IAjaxCallListener * the Component with the Ajax behavior * @return the JavaScript that will be executed after the Ajax call is done. */ - CharSequence getDoneHandler(Component component); + default CharSequence getDoneHandler(Component component) + { + return null; + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-core/src/main/java/org/apache/wicket/request/cycle/AbstractRequestCycleListener.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/AbstractRequestCycleListener.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/AbstractRequestCycleListener.java index 9e8964c..89ebc9c 100644 --- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/AbstractRequestCycleListener.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/AbstractRequestCycleListener.java @@ -22,7 +22,10 @@ import org.apache.wicket.request.Url; /** * Empty implementation of an {@link IRequestCycleListener} useful as a starting point for your own * custom listener. + * + * @deprecated This class will be removed in Wicket 9.0.0. Use {@link IRequestCycleListener} instead. */ +@Deprecated public abstract class AbstractRequestCycleListener implements IRequestCycleListener { @Override http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-core/src/main/java/org/apache/wicket/request/cycle/IRequestCycleListener.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/IRequestCycleListener.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/IRequestCycleListener.java index 74574ec..43ee75d 100644 --- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/IRequestCycleListener.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/IRequestCycleListener.java @@ -103,21 +103,24 @@ public interface IRequestCycleListener * * @param cycle */ - void onBeginRequest(RequestCycle cycle); + default void onBeginRequest(RequestCycle cycle) + {} /** * Called when the request cycle object has finished its response * * @param cycle */ - void onEndRequest(RequestCycle cycle); + default void onEndRequest(RequestCycle cycle) + {} /** * Called after the request cycle has been detached * * @param cycle */ - void onDetach(RequestCycle cycle); + default void onDetach(RequestCycle cycle) + {} /** * Called when an {@link IRequestHandler} is resolved and will be executed. @@ -126,7 +129,8 @@ public interface IRequestCycleListener * * @param handler */ - void onRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler); + default void onRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler) + {} /** * Called when a {@link IRequestHandler} has been scheduled. Can be called multiple times during @@ -136,7 +140,8 @@ public interface IRequestCycleListener * @param handler * @see RequestCycle#scheduleRequestHandlerAfterCurrent(IRequestHandler) */ - void onRequestHandlerScheduled(RequestCycle cycle, IRequestHandler handler); + default void onRequestHandlerScheduled(RequestCycle cycle, IRequestHandler handler) + {} /** * Called when there is an exception in the request cycle that would normally be handled by @@ -158,7 +163,10 @@ public interface IRequestCycleListener * is returned, it will override any configured * {@link Application#getExceptionMapperProvider() exception mapper}. */ - IRequestHandler onException(RequestCycle cycle, Exception ex); + default IRequestHandler onException(RequestCycle cycle, Exception ex) + { + return null; + } /** * Called when an {@link IRequestHandler} is resolved for an exception and will be executed. @@ -167,8 +175,9 @@ public interface IRequestCycleListener * @param handler * @param exception */ - void onExceptionRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler, - Exception exception); + default void onExceptionRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler, + Exception exception) + {} /** * Called after an {@link IRequestHandler} has been executed. If the execution resulted in an @@ -177,7 +186,8 @@ public interface IRequestCycleListener * @param cycle * @param handler */ - void onRequestHandlerExecuted(RequestCycle cycle, IRequestHandler handler); + default void onRequestHandlerExecuted(RequestCycle cycle, IRequestHandler handler) + {} /** * Called after a Url is generated for a {@link IRequestHandler}. This method can be used to @@ -187,5 +197,6 @@ public interface IRequestCycleListener * @param handler * @param url */ - void onUrlMapped(RequestCycle cycle, IRequestHandler handler, Url url); + default void onUrlMapped(RequestCycle cycle, IRequestHandler handler, Url url) + {} } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-extensions/src/main/java/org/apache/wicket/extensions/breadcrumb/IBreadCrumbModelListener.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/breadcrumb/IBreadCrumbModelListener.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/breadcrumb/IBreadCrumbModelListener.java index 8d5b8d8..68d567d 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/breadcrumb/IBreadCrumbModelListener.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/breadcrumb/IBreadCrumbModelListener.java @@ -39,8 +39,9 @@ public interface IBreadCrumbModelListener extends EventListener, IClusterable * @param breadCrumbParticipant * The bread crumb that was activated. */ - void breadCrumbActivated(IBreadCrumbParticipant previousParticipant, - IBreadCrumbParticipant breadCrumbParticipant); + default void breadCrumbActivated(IBreadCrumbParticipant previousParticipant, + IBreadCrumbParticipant breadCrumbParticipant) + {} /** * Called when a bread crumb was added to the model. @@ -48,7 +49,8 @@ public interface IBreadCrumbModelListener extends EventListener, IClusterable * @param breadCrumbParticipant * The new bread crumb */ - void breadCrumbAdded(IBreadCrumbParticipant breadCrumbParticipant); + default void breadCrumbAdded(IBreadCrumbParticipant breadCrumbParticipant) + {} /** * Called when a bread crumb was removed from the model. @@ -56,5 +58,6 @@ public interface IBreadCrumbModelListener extends EventListener, IClusterable * @param breadCrumbParticipant * The bread crumb that was removed */ - void breadCrumbRemoved(IBreadCrumbParticipant breadCrumbParticipant); + default void breadCrumbRemoved(IBreadCrumbParticipant breadCrumbParticipant) + {} } http://git-wip-us.apache.org/repos/asf/wicket/blob/ab1f3c73/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModelListener.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModelListener.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModelListener.java index b0638f8..c8d676f 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModelListener.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModelListener.java @@ -31,15 +31,18 @@ public interface IWizardModelListener extends IClusterable * @param newStep * The new step */ - void onActiveStepChanged(IWizardStep newStep); + default void onActiveStepChanged(IWizardStep newStep) + {} /** * Called when the wizard was cancelled. */ - void onCancel(); + default void onCancel() + {} /** - * Called when the wizard finished succesfully. + * Called when the wizard finished successfully. */ - void onFinish(); -} \ No newline at end of file + default void onFinish() + {} +}
