Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Strange interface introduction problem

Greetings,  I have been trying to introduce an interface (and its methods)
into a number of classes.  I ported my aspects to a new version and have
since had an interesting problem, the class sees the interface declaration,
but not the method declarations.  However, they are clearly shown in the
outline view both in the aspect and in my class Paginator.  Any thoughts?
(Eclipse 2.1.2 with both AJDT 1.1.4 and 1.1.6).  Strangely enough, I have
seen it work before.  It does not seem to be consistent.

The code is below.
aspect ordering {
declare precedence: test1,test;
}

aspect test {
declare parents : org.apache.cocoon.transformation.pagination.Paginator
implements org.apache.cocoon.caching.CacheableProcessingComponent;
}

privileged aspect test1{
/* Paginator!! */

public Serializable
org.apache.cocoon.transformation.pagination.Paginator.generateKey() {
    if (this.inputSource.getLastModified() != 0) {
        return this.inputSource.getURI() + page;
    } else {
        return null;
    }
}
public SourceValidity
org.apache.cocoon.transformation.pagination.Paginator.generateValidity() {
    if (this.inputSource.getLastModified() != 0) {
    AggregatedValidity validity = new AggregatedValidity();
    validity.add(new TimeStampValidity(page));
    validity.add(this.inputSource.getValidity());
    return validity;
    }
    else {
    return null;
        }
   }

}
I get the following error:
Error   Class must implement the inherited abstract method
CacheableProcessingComponent.getKey() Paginator.java
cocoon-core/core/org/apache/cocoon/transformation/pagination line 88
Error   Class must implement the inherited abstract method
CacheableProcessingComponent.getValidity() Paginator.java
cocoon-core/core/org/apache/cocoon/transformation/pagination line 88

Thanks
- Jeff



Back to the top