[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] Super calls to inter-type methods
|
Hi there. I'm having trouble figuring out the best method to do
something and I was hoping someone out there with more AspectJ
experience might be able to help.
I am trying to use inter-type declarations on interfaces to simulate
multiple inheritance. The trouble comes in when I want to override
the inherited method from an interface. For instance if I have:
public interface SelectAction<T>{
public void select(T selection);
}
public aspect SelectAspect{
private T SelectAction<T>.selection;
public void SelectAction<T>.select(T selection){
this.selection = selection;
}
}
then:
public class StringSelectAction implements SelectAction<T>{...}
Causes StringSelectAction to inherit the select method correctly, but
what if I wanted to override the inherited method and say check
permissions before selecting an object? I can't have:
public void select(String selection){
checkPermissions(selection);
super.select(selection);
}
because the select method is not a member of the super class. Is
there a syntax in AspectJ to indicate I want to call the inherited
method? If not, what is the best practice for this type of thing?