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

Alexandre Vasseur <[email protected]> Thu, 28 Oct 2004 00:02:19 +0200
Newsgroups gmane.comp.java.aspectwerkz.devel
Message-ID <[email protected]>
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.

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
> >>
> >
> 
>