Re: [aspectwerkz-dev] Re: RES: [aspectwerkz-user] Aspects Inheritance error

the_mindstorm <[email protected]> Thu, 28 Oct 2004 01:06:13 +0300
Newsgroups gmane.comp.java.aspectwerkz.devel
Message-ID <[email protected]>
Quote [Alexandre Vasseur]:

> good point !
> 
> A protected advice cannot be invoked when the joinpoint is reached so
> this is not allowed.
> A private one is not neither.
> A package private advice is allowed.

I am not sure I got the last one. I guess you are thinking of the case where the aspect and the 
target are in the same package, ain't it?

So should I go for changing those methods?

:the_mindstorm

> 
> A protected / private / etc  pointcut makes sense. It s quite different.
> 
> Alex
> 
> 
> On Wed, 27 Oct 2004 23:15:16 +0300, the_mindstorm
> <[email protected]> wrote:
>> Quote [Alexandre Vasseur]:
>> 
>> > yes I know the issue is there - good digging
>> > I d rather have a test case first, that covers protected pointcut as well.
>> > Please discuss these kind of thing on dev@
>> >
>> 
>> Alex according to documentation it seems that the behavior is correct :-).
>> 
>> [quote]
>> In the aspect class the advice are regular methods. The methods needs to conform to a specfic
>> signature unless args() selector is used in the pointcut the advice is bounded to.
>> 
>>     * For Around advice:
>>       public Object <name of method>(JoinPoint joinPoint) throws Throwable signature.
>> 
>>     * For Before and After advice:
>>       public void <name of method>(JoinPoint joinPoint) throws Throwable signature.
>> [/quote]
>> 
>> Andre reported the problem while using protected methods as advice. Please confirm me if we should
>> change this to accept also protected methods (or any other scheme).
>> 
>> If we consider pure java inheritance the problem may become delicate in what regards the package
>> protected methods.
>> 
>> :the_mindstorm
>> 
>> 
>> 
>> 
>> >
>> > On Wed, 27 Oct 2004 14:12:52 +0300, the_mindstorm
>> > <[email protected]> wrote:
>> >> I think I have tracked down the problem:
>> >>
>> >> ReflectHelper.createCompleteSortedMethodList use Class.getMethods and Class.getDeclaredMethods to
>> >> create the list of available advice methods. But _neither_ of these will return an inherited
>> >> protected method.
>> >>
>> >> I think that by evening I can send you a patch. Is it oke?
>> >>
>> >> :the_mindstorm
>> >>
>> >
>> 
>>
>