[weld-dev] Should we add Annotated.isAbstract()?

Pete Muir pmuir at redhat.com
Sun Nov 1 11:58:05 EST 2009


* To determine class, method, field, constructor accessibility
* To determine if a class, method, field, constructor is final
* To determine if a class,, method, field, constructor is static
* To determine if a method, field, constructor is transient
* To determine if a class is abstract

Do you want info on which bits of the lifecycle use this info?

On 1 Nov 2009, at 15:38, Gavin King wrote:

> In what circumstances does the RI currently call getModifiers() for
> Methods and Classes? Can you make a list?
>
> On Sun, Nov 1, 2009 at 11:35 AM, Pete Muir <pmuir at redhat.com> wrote:
>> Ah.
>>
>> My main concern is that it would be very easy for users to break  
>> stuff
>> totally. I think the spec would need to define some validation.
>>
>> On 1 Nov 2009, at 15:30, Gavin King wrote:
>>
>>> Well, yes, but it is very difficult to add stuff to interfaces which
>>> are implemented by users. That's a breaking change....
>>>
>>> On Sun, Nov 1, 2009 at 10:41 AM, Pete Muir <pmuir at redhat.com> wrote:
>>>>
>>>> Ok, I see.
>>>>
>>>> Personally, I think this could wait until the next release,  
>>>> unless there
>>>> is
>>>> a good use case where this would be required.
>>>>
>>>> On 1 Nov 2009, at 14:39, Gavin King wrote:
>>>>
>>>>> Yeah that was my initial thought too. But what if, for example,  
>>>>> you
>>>>> overrode isAbstract() and then also wrapped the Producer?
>>>>>
>>>>> Sent from my iPhone
>>>>>
>>>>> On Nov 1, 2009, at 9:11 AM, Pete Muir <pmuir at redhat.com> wrote:
>>>>>
>>>>>> Hmm, I'm not sure about this one. For example, what happens if
>>>>>> something takes an abstract method, and then, via the SPI,  
>>>>>> changes
>>>>>> the method or class to not be abstract (but doesn't provide any
>>>>>> implementation of the method/class). In this they will get a  
>>>>>> runtime
>>>>>> error when we try to call the method or instantiate the class.
>>>>>>
>>>>>> On 31 Oct 2009, at 01:56, Gavin King wrote:
>>>>>>
>>>>>>> I suppose that there are places where the container checks if  
>>>>>>> a class
>>>>>>> or method is abstract. I guess it makes sense to indirect that?
>>>>>>>
>>>>>>> --
>>>>>>> Gavin King
>>>>>>> gavin.king at gmail.com
>>>>>>> http://in.relation.to/Bloggers/Gavin
>>>>>>> http://hibernate.org
>>>>>>> http://seamframework.org
>>>>>>> _______________________________________________
>>>>>>> weld-dev mailing list
>>>>>>> weld-dev at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/weld-dev
>>>>>>
>>>>> _______________________________________________
>>>>> weld-dev mailing list
>>>>> weld-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/weld-dev
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Gavin King
>>> gavin.king at gmail.com
>>> http://in.relation.to/Bloggers/Gavin
>>> http://hibernate.org
>>> http://seamframework.org
>>
>>
>
>
>
> -- 
> Gavin King
> gavin.king at gmail.com
> http://in.relation.to/Bloggers/Gavin
> http://hibernate.org
> http://seamframework.org
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev



More information about the weld-dev mailing list