how do users get in this situation a warning? if we as a framework say method(RawType type) then why would that give a warning in the caller method? We just say we accept raw type there
johan On Wed, May 14, 2008 at 9:53 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > then our users have to suppress warnings in their code, which is > unacceptable at least to me. the whole generics thing turned out to be > quiet a lot crappier then i thought it would. > > -igor > > > On Wed, May 14, 2008 at 12:48 PM, Johan Compagner <[EMAIL PROTECTED]> > wrote: > > yes then all the call to that method must be of a generic type. > > cant be raw > > > > i dont know what are we going to do in wicket i think we should decide it > > should we just where we dont care about generic delete/not use the <?> > and > > then > > supresswarning? > > > > johan > > > > > > On Wed, May 14, 2008 at 9:45 PM, Igor Vaynberg <[EMAIL PROTECTED]> > > wrote: > > > >> 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] > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >