I suggest using Link<Void> when not using a model (-> java.lang.Void)



Am 23.04.2008 um 19:14 schrieb Igor Vaynberg:

right. if you dont use the model inside a component then the generic
is pretty useless, so either do not declare it and add @SupressWarning
or simply Link<Object>. I often use Link with model object, so for me
the generic makes sense. It is just too bad java doesnt have a
shortcut to disable the generic without warnings so you can do Link<?>
foo=new Link<?>(...)

-igor


On Wed, Apr 23, 2008 at 10:08 AM, Patrick Angeles
<[EMAIL PROTECTED]> wrote:

How often do people give models to components like Buttons and Links? Maybe the devs can consider alternate versions of these components that aren't
generic and don't take a model (or assume IModel).

My code is littered with Link declarations just to get rid of the compiler
warnings :)







Johan Compagner wrote:

this is fine yes:

TextField<String> tf = new TextField<String>(new
ResourceModel<String>("key"));

the tf.getModel() returns a Model<String> else it cant and getModelObject
also returns a String.

But i agree for a Button if you dont give a model to it it doesn't make
sense
But if you give a model it does make sense.

But for a Textfield it makes sense that you generify it even without a
model
because it does inherit the model from its parent..

so yes its a bit of a split what is nice and what you want to do.

johan


On Tue, Apr 22, 2008 at 3:28 PM, mnwicket <[EMAIL PROTECTED]> wrote:


Thanks Igor....not sure if you really answered what I was getting at
though.
I understand generics however there are cases in wicket where I'm
wondering
what is best practices.

ie, using your example, a TextField using a ResourceModel, which way
would
you go;

TextField<String> tf = new TextField<String>(new
ResourceModel<String>("key"));

or just

TextField tf = new TextField(new ResourceModel<String>("key"));

And what do you use as a generic with the following code block;

class MyForm extends Form {

public MyForm() {

  add(new AjaxButton('id', this));

}

}



igor.vaynberg wrote:

generic type on Component represents the type of the modelobject that
component will hold.

eg TextField<Integer> tf=new TextField<Integer>(...);
means that tf.getModelObject() is of type Integer

-igor


On Mon, Apr 21, 2008 at 5:30 PM, mnwicket <[EMAIL PROTECTED]> wrote:

Ok, so I starting messing around with the new generics version of
wicket....and I guess I was a little confused as to how many generics
there
are. Silly question is when people are doing development are they
turning
off all generic warnings in eclipse...that is if you are using
eclipse?

I only ask because I come across components like TextField that takes
a
ResourceModel...I understand why the ResourceModel would use a
generic
but
in this case am I forced to put <String> on the TextField.

Another example is AjaxButton that is being added to a form, what
generic do
I use here? The forms object model type? What if the form doesn't
have
a
model, say it is using a ValueMap that is a global member of the
form...ie
I've seen this usage in some login example of wicket.

Just looking for some guidance here guys.
--
View this message in context:
http://www.nabble.com/1.4-Generics-tp16819308p16819308.html
Sent from the Wicket - Dev mailing list archive at Nabble.com.





--
View this message in context:
http://www.nabble.com/1.4-Generics-tp16819308p16824264.html
Sent from the Wicket - Dev mailing list archive at Nabble.com.





--
View this message in context: 
http://www.nabble.com/1.4-Generics-tp16819308p16834716.html


Sent from the Wicket - Dev mailing list archive at Nabble.com.



Reply via email to