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]

Reply via email to