so i just implemented IAuthorizationStrategy and on this line in my class: public boolean isInstantiationAuthorized(Class< ? extends Component> componentClass)
i get: Component is a raw type. References to generic type Component<T> should be parameterized so that means we have to change our sig to <? extends Component<?>> but then we are back to the problem described in this thread. generics suck. -igor On Wed, May 14, 2008 at 12:12 AM, Johan Compagner <[EMAIL PROTECTED]> wrote: > I dont think that user gets a warning if a param is of raw type. But > we have a warning there. > The problem is that for example MarkupContainer.add(Component) or > IVisitor.visit(Component) i dont care what component is put in > generified or not. > In add it really doesnt matter because we dont do anything with it. > With visitor it is different because the user could use it inside the > method. But it should be useable without warnings for generified and > none generfied components.. > > > On 5/14/08, Igor Vaynberg <[EMAIL PROTECTED]> wrote: >> if we have a signature that accepts a raw type, will that also cause a >> warning in user's code? >> >> also having those suppress annotations practically _everywhere_ will be >> annoying >> >> -igor >> >> >> On Tue, May 13, 2008 at 11:56 PM, Johan Compagner <[EMAIL PROTECTED]> >> wrote: >> > I dont care, because i cant do any thing with the ? The only thing it >> > enforces is that it must now be a generic class which is annoying. Not >> > to mention that in that area eclipse and javac accept different >> > things.... >> > >> > So or we in wicket dont use <?> any where and have supress warning >> > everywhere for that or we do use it and then suddenly it is in my eyes >> > restricted to much. >> > >> > >> > >> > On 5/14/08, Sebastiaan van Erk <[EMAIL PROTECTED]> wrote: >> > > Johan Compagner wrote: >> > > > yes thats the reason >> > > > >> > > > you are calling the method add with a generified component but that >> > > > container itself is not generified >> > > > >> > > > i dont like this about generics expecially the onces like this: >> > > > >> > > > add(MarkupContainer<?> container) >> > > > >> > > > then suddenly a none generified component cant be added... >> > > > thats really stupid <?> should mean anything.. including none >> generics >> > > >> > > No, that's not correct. For example, List<?> is much more restrictive >> > > than a raw List (which is a List<Object>). To a raw list you can add an >> > > instance of any type whatever, i.e., list.add(new Object()). But in >> > > List<?> the ? is a wildcard which says it could be any type there, >> i.e., >> > > it could be a List<Integer>. But you can't add a new Object() to a >> > > List<Integer>! >> > > >> > > Thus MarkupContainer<?> means "MarkupContainer parameterized by some >> > > unknown type", and *not* MarkupContainer parameterized by Object, which >> > > is what the raw type means. >> > > >> > > Regards, >> > > Sebastiaan >> > > >> > > > johan >> > > > >> > > > >> > > > On Tue, May 13, 2008 at 5:55 PM, Stefan Simik >> <[EMAIL PROTECTED]> >> > > > wrote: >> > > > >> > > >> I have one idea, >> > > >> >> > > >> the reason of the warnigs is, that parent of AjaxPagingNavigator is >> > > >> PagingNavigator, >> > > >> which has parent Panel ---> that is not parameterized. >> > > >> >> > > >> The same problem is with LoopItem, which extends the >> > > >> WebMarkupContainer ---> that is not parameterized. >> > > >> >> > > >> ? could this be the reason ? >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> Stefan Simik wrote: >> > > >>> Mhmm, it is meaningful ;) I will know in future, thx >> > > >>> >> > > >>> One of the last occuring warning is, when working with >> > > >>> MarkupContainer#add(...) or #addOrReplace(...) method. >> > > >>> >> > > >>> Example: I have a simple AjaxPagingNavigator, to which I add a >> simple >> > > >>> ListView >> > > >>> >> ----------------------------------------------------------------------- >> > > >>> ListView<Integer> menu = new ListView<Integer>("id", numbers){ >> > > >>> //....populate metods >> > > >>> } >> > > >>> add(menu); //warning here >> > > >>> >> > > >>> The warning says: >> > > >>> "Type safety: The method add(Component...) belongs to the raw type >> > > >>> MarkupContainer. >> > > >>> References to generic type MarkupContainer<T> should be >> parameterized" >> > > >>> >> > > >>> I cannot find out, what's the warning reason, because ListView self >> is >> > > >>> parameterized. >> > > >>> >> > > >>> >> > > >> -- >> > > >> View this message in context: >> > > >> >> > > >> http://www.nabble.com/Using-generics-with-some-non-generic-classes-in-Wicket-tp17208928p17212015.html >> > > >> Sent from the Wicket - User mailing list archive at Nabble.com. >> > > >> >> > > >> >> > > >> >> --------------------------------------------------------------------- >> > > >> 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]