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]

Reply via email to