Когда я пытаюсь издеваться в Дао с помощью Jukito я получаю следующее исключение:Как связать класс Generic?
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
at org.jukito.JukitoModule.addKeyDependency(JukitoModule.java:338)
at org.jukito.JukitoModule.addInjectionPointDependencies(JukitoModule.java:330)
at org.jukito.JukitoModule.addDependencies(JukitoModule.java:313)
Объект Стараюсь издеваться является ConcreteDao
.
public class ConcreteDao extends AbstractDao<MyDomain> {
}
public abstract class AbstractDao<T extends DatastoreObject> {
}
Я прочитал несколько постов на SO об этом связывания дженериков, но я не могу понять способ использовать TypeLiteral
для моего связывания.
Это то, что я пробовал:
bind(new TypeLiteral<AbstractDao<MyDomain>>(){}).to(ConcreteDao.class);
Можете ли вы уточнить свой вопрос? Неясно, в чем именно проблема. –
Я переформулировал вопрос. Надеюсь, это лучше. – Sydney
Не совсем. Я не знаю, Jukito, и я, возможно, не один, не могли бы вы опубликовать тест JUnit, объясняющий, где именно проблема :) – Brice