it has nothing to do with us wanting to "lock" something down. i am
simply stating that the read-only nature is a side-effect of a widened
type declaration. it is something we should all be aware of.

-igor

On Tue, Mar 3, 2009 at 1:02 PM, Brill Pappin <[email protected]> wrote:
> I usually think of them as read only as well, however why would you presume
> read only?
>
> they are pretty much exactly the same semantically and if I thought of some
> cool trick I could do modifying the list, I'd hate to be prevented from
> doing so simply because someone wanted to lock down an API that didn't
> really need locking down.
> I think the syntax doesn't really mean read only, and if the wicket
> developers really want it to be read only, wrapping the list would be the
> way to go.
>
> I'm for the plain old <List<T>> because its simple and explicit... <List<?
> extends T>> would be my next choice because it widens the scope.
>
> - Brill
>
> On 2-Mar-09, at 3:44 PM, James Carman wrote:
>
>> Aren't both the "choices" model in DDC and the actual model of
>> ListView supposed to be considered read-only (as far as the component
>> is concerned)?  The DDC and ListView don't need to be able to alter
>> those models anyway, right?  Perhaps my experience is just too
>> limited, but I don't think I've ever tried to do either one of your
>> usecases (I always consider them read-only).
>>
>>
>> On Mon, Mar 2, 2009 at 3:24 PM, Igor Vaynberg <[email protected]>
>> wrote:
>>>
>>> see WICKET-2126
>>>
>>> -igor
>>>
>>> On Mon, Mar 2, 2009 at 12:19 PM, James Carman
>>> <[email protected]> wrote:
>>>>
>>>> I vote -0.99 on this (non-binding of course).  I'd vote +1 to making
>>>> ListView accept List<? extends T> rather than making DDC less
>>>> flexible.
>>>>
>>>> On Mon, Mar 2, 2009 at 3:11 PM, Brill Pappin <[email protected]> wrote:
>>>>>
>>>>> Ok, as suggested, here is the thread, and the first vote.
>>>>>
>>>>> +1
>>>>> for making the generic definition the same for all list type
>>>>> components.
>>>>>
>>>>> FYI -  you can also "vote" in the issue I just created at (which might
>>>>> actually be a better place to vote):
>>>>> https://issues.apache.org/jira/browse/WICKET-2137
>>>>>
>>>>> - Brill
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 28-Feb-09, at 5:18 PM, Jeremy Thomerson wrote:
>>>>>
>>>>>> Perhaps start a vote thread, with the subject something like: "VOTE:
>>>>>> Remove
>>>>>> ? extends from constructor of DropDownChoice".
>>>>>>
>>>>>> I'd be +1 non-binding
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jeremy Thomerson
>>>>>> http://www.wickettraining.com
>>>>>>
>>>>>>
>>>>>> On Sat, Feb 28, 2009 at 3:33 PM, Brill Pappin <[email protected]> wrote:
>>>>>>
>>>>>>> I'm of the don't widen it camp anyway :)
>>>>>>>
>>>>>>> So how do I go about gathering support for having the DropDownChoice
>>>>>>> work
>>>>>>> with the models the way everything else does?
>>>>>>>
>>>>>>> - Brill
>>>>>>>
>>>>>>>
>>>>>>> On 28-Feb-09, at 1:42 AM, Igor Vaynberg wrote:
>>>>>>>
>>>>>>> yes, the choice was intentional. personally i do not care if it is
>>>>>>> <T>
>>>>>>>>
>>>>>>>> all the way, some users complained so we widened it on the choices
>>>>>>>> model, we cannot widen it on the main model.
>>>>>>>>
>>>>>>>> -igor
>>>>>>>>
>>>>>>>> On Fri, Feb 27, 2009 at 8:51 PM, Brill Pappin <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> I see... but this would i think because Bar "is a" Foo:
>>>>>>>>>
>>>>>>>>> class Bar exends Foo {}
>>>>>>>>> List<? extends Foo> list = ...
>>>>>>>>> list.add(new Bar());
>>>>>>>>>
>>>>>>>>> Anyway, what your saying is that the generics choice was
>>>>>>>>> intentional?
>>>>>>>>>
>>>>>>>>> - Brill
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 27-Feb-09, at 3:19 PM, Igor Vaynberg wrote:
>>>>>>>>>
>>>>>>>>> list<? extends string> stings=...
>>>>>>>>>>
>>>>>>>>>> strings.add("asd"); <== wont compile
>>>>>>>>>>
>>>>>>>>>> -igor
>>>>>>>>>>
>>>>>>>>>> On Fri, Feb 27, 2009 at 11:13 AM, Adriano dos Santos Fernandes
>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> What do you mean with "read only" here?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Adriano
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Igor Vaynberg escreveu:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> <? extends Foo> collections are read only, it would be too
>>>>>>>>>>>> inconvenient to make the model collection read only :)
>>>>>>>>>>>>
>>>>>>>>>>>> -igor
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Feb 26, 2009 at 8:34 PM, Jeremy Thomerson
>>>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> This is what I was commenting on last week on the list (or
>>>>>>>>>>>>> earlier
>>>>>>>>>>>>> this
>>>>>>>>>>>>> week).  One expects List<? extends Foo> while the other expects
>>>>>>>>>>>>> List<Foo>.
>>>>>>>>>>>>> I'm not fully convinced yet that the "? extends" is the better
>>>>>>>>>>>>> option.
>>>>>>>>>>>>> Either way, I think they should be the same.
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Jeremy Thomerson
>>>>>>>>>>>>> http://www.wickettraining.com
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Feb 26, 2009 at 8:27 PM, Brill Pappin <[email protected]>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Roughly what I'm doing is:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> class TypeA{}
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> class TypeAModel extends LoadableDetachableModel< List<TypeA>>
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>  public List<TypeA> load(){
>>>>>>>>>>>>>>          ... do the load ...
>>>>>>>>>>>>>>          return ...
>>>>>>>>>>>>>>  }
>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> TypeAModel model = new TypeAModel();
>>>>>>>>>>>>>> DropDownChoice< TypeA> ddc = new DropDownChoice<TypeA>("id",
>>>>>>>>>>>>>> model
>>>>>>>>>>>>>> );
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> which gets complained about... in this case the generic def is
>>>>>>>>>>>>>> DropDownChoice<List<? extends T>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I think the problem is that the generic def of the class
>>>>>>>>>>>>>> should
>>>>>>>>>>>>>> actually
>>>>>>>>>>>>>> be
>>>>>>>>>>>>>> DropDownChoice<List<T>> because you are already identifying
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> type
>>>>>>>>>>>>>> when
>>>>>>>>>>>>>> you create a new instance.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now... my generics are a bit hazy at this level, because I can
>>>>>>>>>>>>>> understand
>>>>>>>>>>>>>> why it was done that way... does anyone with more generics
>>>>>>>>>>>>>> experience
>>>>>>>>>>>>>> know
>>>>>>>>>>>>>> what it should be? Is this a bug that needs filing?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> - Brill
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 26-Feb-09, at 6:03 PM, Kaspar Fischer wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 26.02.2009, at 22:52, Brill Pappin wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For some reason the DropDownChoice component doesn't have the
>>>>>>>>>>>>>>> same
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> generics as ListView and it will not accept a model that
>>>>>>>>>>>>>>>> listview
>>>>>>>>>>>>>>>> will,
>>>>>>>>>>>>>>>> despite its saying that it will accept an IModel.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Is anyone else having that sort of trouble with
>>>>>>>>>>>>>>>> DropDownChoice?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> - Brill
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Can you give us more information on what exactly is not
>>>>>>>>>>>>>>> working
>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>> you?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> DropDownChoice indeed does accept a model, see for instance
>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>> example
>>>>>>>>>>>>>>> in
>>>>>>>>>>>>>>> the class description at
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> http://wicket.apache.org/docs/1.4/org/apache/wicket/markup/html/form/DropDownChoice.html
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> This works for me.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Kaspar
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> <!-- HTML: -->
>>>>>>>>>>>>>>> <select wicket:id="site">
>>>>>>>>>>>>>>>         <option>site 1</option>
>>>>>>>>>>>>>>>         <option>site 2</option>
>>>>>>>>>>>>>>> </select>
>>>>>>>>>>>>>>> <ul>
>>>>>>>>>>>>>>> <li wicket:id="site2"><wicket:container
>>>>>>>>>>>>>>> wicket:id="sitename"/></li>
>>>>>>>>>>>>>>> </ul>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> // Code
>>>>>>>>>>>>>>> List SITES = Arrays.asList(new String[] {
>>>>>>>>>>>>>>>  "The Server Side", "Java Lobby", "Java.Net"
>>>>>>>>>>>>>>> });
>>>>>>>>>>>>>>> form.add(new DropDownChoice("site", SITES));
>>>>>>>>>>>>>>> form.add(new ListView("site2", SITES)
>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>> @Override
>>>>>>>>>>>>>>> protected void populateItem(ListItem item)
>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>  item.add(new Label("sitename", item.getModel()));
>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>> });
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>> ? extends
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> es, the choice
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to