У меня есть интерфейс OrganizationRequestContext, который прекрасно работает:
@Service(OrganizationDAO.class)
public interface OrganizationRequestContext extends RequestContext
{
Request<OrganizationProxy> findOrganization(Long id);
InstanceRequest<OrganizationProxy, Void> persist();
InstanceRequest<OrganizationProxy, Void> remove();
}
Теперь я хочу взять эти две последние функции и поместить их в PersistentRequestContext
моего собственного дизайна, чтобы я мог одинаково обрабатывать все мои RequestContexts в своем клиентском коде:
public interface PersistableRequestContext<T extends BaseProxy>
{
InstanceRequest<T, Void> persist();
InstanceRequest<T, Void> remove();
}
...
@Service(OrganizationDAO.class)
public interface OrganizationRequestContext extends RequestContext, PersistentRequestContext<OrganizationProxy>
{
Request<OrganizationProxy> findOrganization(Long id);
}
Но это не проходит проверку: сервер жалуется, что
[ERROR] com.activegrade.shared.data.PersistableRequestContext is not a RequestContext
Если я заставлю PersistableRequestContext расширить RequestContext, то сервер будет жаловаться, что он не связан с какой-либо конкретной службой DAO.
Есть ли способ расширить общий интерфейс помимо RequestContext
в моих различных интерфейсах RequestContext?