我希望我的类实现一个接口,但我想使用ITD在切面中提供方法的实现。这种做法可行吗?
接口:
public interface CloningService<T> {
public T clone(T object);
}
默认实现:
public class DefaultCloningServiceImpl implements CloningService<T> {
public T clone(T object) {
// implementation of the clone method
}
}
具体实现:
public class PersonService implements CloningService<Person> {
// no code (!)
}
PersonService类会声明它实现了CloningService接口,但是方法的具体实现会在DefaultCloningServiceImpl中提供,而一个切面会将它们引入到PersonService中。
我在Eclipse.com上跟随示例尝试使用@DeclareParents来实现上述功能。然而,我从AspectJ那里得到了一个编译器错误,与泛型有关。就好像@DeclareParents注释不希望使用泛型一样...
谢谢。