just try it, line 6 will giveyou the warning, so we have no choice but
to declare it as Class<? extends Component<?>>

01: public static class Test implements IAuthorizationStrategy {
02:        public boolean isActionAuthorized(Component< ? > component,
Action action)
03:        {
04:            throw new UnsupportedOperationException();
05:        }
06:        public boolean isInstantiationAuthorized(Class< ? extends
Component> componentClass)
07:        {
08:            throw new UnsupportedOperationException();
09:        }
10:    }

-igor



On Wed, May 14, 2008 at 1:29 PM, Johan Compagner <[EMAIL PROTECTED]> wrote:
> 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]
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to