See the sample test in ticket: WICKET-2137
https://issues.apache.org/jira/browse/WICKET-2137
- brill
On 4-Mar-09, at 11:08 AM, Johannes Schneider wrote:
On Wed, 2009-03-04 at 10:04 -0500, Brill Pappin wrote:
I actually wasn't saying they were the same.
What I said (meant) was that:
a) don't lock down
Locking down means *removing* the wildcard. Adding the wildcard
*widens*
the collection.
To be clear:
Wildcard --> it fits for everybody
No wildcard --> it fits only for some special cases (maybe yours)
b) I prefer the explicit form rather than the "Any of type" form.
i.e.
<List<T>> rather than <List<? extends T>>.
They mean something completely different. I understand that you prefer
the shorter version. Many do. But it stays wrong...
If the constructor accepts "List<Number>", everybody *has* to give you
exactly a List<Number>.
List<Number> n = new List<Number>;
If the constructor accepts the widened type, you can add all those
lists...
List<? extends Number> n = new List<Number>;
List<? extends Number> n = new List<Integer>;
List<? extends Number> n = new List<Double>;
If you don't believe me, take a look at GlazedLists. Compare version
1.7
and version 1.8. They changed exactly that thing (a non backward
compatible change!). They made exactly the same fault...
Regards,
Johannes
- Brill
On 4-Mar-09, at 6:26 AM, Johannes Schneider wrote:
On Tue, 2009-03-03 at 16:02 -0500, Brill Pappin wrote:
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.
You are wrong. *Widening* a collection is the exact opposite of
"locking
down".
If you want to have some fancy (read "hacky") write access to the
model
you are free to simply cast...
That is the right choice here. You know that you have a special
model in
there, so cast it.
But the "common" case is, that you don't know for sure whether the
model
supports adding of choices or not.
If you don't believe me, take a look at JComboBox.
javax.swing.JComboBox#getModel returns a *read only* view of the
model.
Regards,
Johannes
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
<igor.vaynb...@gmail.com> wrote:
see WICKET-2126
-igor
On Mon, Mar 2, 2009 at 12:19 PM, James Carman
<jcar...@carmanconsulting.com> 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 <br...@pappin.ca>
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
<br...@pappin.ca>
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
<br...@pappin.ca> 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
<adrian...@gmail.com> 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
<jer...@wickettraining.com> 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 <br...@pappin.ca
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: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-
unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
? extends
---------------------------------------------------------------------
To unsubscribe, e-mail: users-
unsubscr...@wicket.apache.org
For additional commands, e-mail: users-
h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-
unsubscr...@wicket.apache.org
For additional commands, e-mail: users-
h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
es, the choice
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-
h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org