[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] generic return method in aspcet J
|
I have an error in ExtendProduct aspect on method getTarget(). I give
the code below
Does somebody have an idea?
This error is :
can't override Link<Revision> AssociationSource<Revision>.getTarget()
with Link<T> AssociationSource.getTarget() return types don't match
Moreover, one advice having a generic type of return gives a similar error.
Was this feature implemented in the last version of apectj.
Thanks.
Stéphane Chomat.
This sample code :
public class Link<T> extends SoftReference {
@SuppressWarnings("unchecked")
Link(List<T> endPoints) {
super(endPoints);
}
@SuppressWarnings("unchecked")
public List<T> getEndPoints() {
return (List<T>)get();
}
}
interface AssociationSource<T> {
public Link<T> getTarget();
public void setTarget(Link<T> _target);
}
aspect ExtendProduct {
Link<T> AssociationSource._target = null;
public Link<T> AssociationSource.getTarget() {
return _target;
}
public void AssociationSource.setTarget(Link<T> _target) {
this._target = _target;
}
declare parents : ProductType implements
AssociationSource<Product>;
declare parents : Product implements AssociationSource<Branch>;
declare parents : Branch implements
AssociationSource<Revision>;
}