You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Kamil (JIRA)" <ji...@apache.org> on 2018/05/26 13:20:00 UTC

[jira] [Commented] (WICKET-6536) Add generic to MarkupContainer#visitChildren

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

Kamil commented on WICKET-6536:
-------------------------------

[~mgrigorov], [~svenmeier] sorry, I didn't notice your question.

So currently I have:
{code:java}
public class MyWindow extends Panel implements Cancelable {...}{code}
and I reach it like this:
{code:java}
getPage().visitChildren(Cancelable.class, (object, visit) -> ((Cancelable) object).cancel(target));{code}

Now, if signature of the method will be:
{code:java}
final <S extends Component, R> R visitChildren(final Class<S> clazz, final IVisitor<S, R> visitor){code}

I could use visit like this:
{code:java}
getPage().visitChildren(Cancelable.class, (cancelable, visit) -> cancelable.cancel(target));{code}

> Add generic to MarkupContainer#visitChildren
> --------------------------------------------
>
>                 Key: WICKET-6536
>                 URL: https://issues.apache.org/jira/browse/WICKET-6536
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 8.0.0-M8
>            Reporter: Kamil
>            Assignee: Sven Meier
>            Priority: Major
>
> currently MarkupContainer#visitChildren has signature:
> {code:java}
> final <S extends Component, R> R visitChildren(final Class<?> clazz, final IVisitor<S, R> visitor){code}
> while im my opinion it should have:
> {code:java}
> final <S extends Component, R> R visitChildren(final Class<S> clazz, final IVisitor<S, R> visitor){code}
> Why force user to do class cast while we already know which class we pass to the method?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)