[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] Calling super from around advice
|
Thanks for your reply.
So, there's no way to change the pointcut definition or something else
to make my example work?
I'm trying to intercept calls to a method in derived classes and then
call the parent's base method.
Regards,
Karl
On Fri, Oct 6, 2017 at 7:11 PM, Henrique Rebêlo <hemr@xxxxxxxxxxx> wrote:
> Hi Sanders,
>
> This is just because the super you're calling is from the aspect's
> supertype, which is the type object in this case...
>
> Em sex, 6 de out de 2017 às 13:37, Karl Sanders <karlsanders75@xxxxxxxxx>
> escreveu:
>>
>> Hi,
>> I have this example code:
>>
>>
>> public class A {
>> public String getName() { return "A"; }
>> }
>>
>> public class B extends A {
>> @Override
>> public String getName() { return "B";}
>> }
>>
>> public aspect Test {
>> String around(): execution(public String A+.getName())
>> && !within(A) {
>> String text = "advice";
>> // text = super.getName();
>> System.out.println(text);
>> return proceed();
>> }
>> }
>>
>> public class Main {
>> public static void main(String[] args) {
>> System.out.println(new B().getName());
>> }
>> }
>>
>>
>> If I run the main method I get this output:
>> advice
>> B
>>
>> Now I hoped that by removing the comment from the line inside
>> the advice I would get:
>> A
>> B
>>
>> But the code simply doesn't compile, with this message:
>> The method getName() is undefined for the type Object
>>
>> I found this message:
>> https://dev.eclipse.org/mhonarc/lists/aspectj-users/msg12163.html
>> and it seems quite clearly to explain what's the issue with my example.
>> Since some time has passed I would like to ask if it's still not possible
>> to call the base method using super.
>>
>> Regards,
>> Karl
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> --
> ...............................................................................................................................
> Henrique Rebelo
> http://www.cin.ufpe.br/~hemr
> Centro de Informática
> Universidade Federal de Pernambuco , Brazil
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users