Общий интерфейс с обратной связью

Я хочу создать два интерфейса с обратными отношениями.

public interface Item <D extends Description,
                                        C extends Category<D,Item<D,C>>> {
    public C getCategory();
    public void setCategory(C category);}

Я не уверен, правильно ли выражение C расширяет Category > , но, по крайней мере, ошибок компилятора нет.

public interface Category<D extends Description, I extends Item> {
    public List<I> getItems();
    public void setItems(List<I> items);}

Я расширяю Item выдает предупреждение Элемент необработанного типа. Ссылки на пункт должны быть параметризованы . Я пробовал

I extends Item<D,Category<D,I>>

, но это приводит к ошибке Несоответствие привязки: тип Category не является допустимой заменой ограниченного параметра >> of тип Item . Как правильно параметризовать интерфейс Категория с помощью дженериков?

6
задан Naor 9 August 2011 в 13:13
поделиться