В Guice 3 я пытаюсь создать универсальный модуль:
public class CSVModule<K> extends AbstractModule implements Serializable {
public List<Range<K>> searchRange = new LinkedList<Range<K>>();
@Override protected void configure() {
bind(new TypeLiteral<List<Range<K>>>(){}).toInstance(searchRange);
}
}
Это приводит к исключению:
1) java.util.List<test.Range<K>> cannot be used as a key; It is not fully specified.
SearchRange должен быть настроен из "outside ":
module = new CSVModule<Integer>();
module.searchRange.add(new Range<Integer>(-5, 5));
Однако у меня есть не только целочисленные диапазоны поиска, поэтому я хотел бы избежать подкласса модуля CSV для каждого типа.
Было бы здорово, если кто-то может помочь с этим.