[ 
https://issues.apache.org/jira/browse/WICKET-6137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15256163#comment-15256163
 ] 

ASF subversion and git services commented on WICKET-6137:
---------------------------------------------------------

Commit 19e01b2a8891604249a3ac16439d6ba0d704688c in wicket's branch 
refs/heads/master from [~svenmeier]
[ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=19e01b2 ]

WICKET-6137 test fixes: request listener has to exist


> ListenerInterfaceRequestHandler simplification
> ----------------------------------------------
>
>                 Key: WICKET-6137
>                 URL: https://issues.apache.org/jira/browse/WICKET-6137
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 8.0.0-M1
>            Reporter: Sven Meier
>            Assignee: Sven Meier
>            Priority: Minor
>
> Branch "request_listener_simplification" contains a proposal to simplify 
> ListenerInterfaceRequestHandler.
> By limiting components and behaviors to implement a single callback only, we 
> can remove the identifying part "I*Listener" from URLs.
> For page 0, renderCount 1 and behavior 2 the following componentInfos:
>   0-1.ILinkListener-link
>   0-1.ILinkListener.2-link
>   0-IResourceListener-image
>   0-IResourceListener.2-wmc
> ... become:
>   0-1.-link
>   0-1.2-link
>   0--image
>   0-.2-wmc
> This format could be further improved, suggestions are welcomed.
> This has the following advantages:
> - framework exposure in URLs is minimized
> - URLs get shorter
> - no need to register INTERFACE constants any longer
> - instead using of reflection ListenerInterfaceRequestHandler can call a 
> single method on the component or behavior, which makes debugging easier.
> - a single interface for components or behavior is enough to be targeted by 
> requests:
> {code}
>       public interface IRequestListener extends IClusterable
>       {
>               /**
>                * Does invocation of this listener render the page. 
>                * 
>                * @return default {@code true}, i.e. a {@link 
> RenderPageRequestHandler} is scheduled after invocation 
>                */
>               default boolean rendersPage()
>               {
>                       return true;
>               }
>       
>               /**
>                * Called when a request is received.
>                */
>               void onRequest();
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to