Можно использовать aspectj или javassist для расширения класса с общим классом? например, у меня есть класс с:Расширение класса java с дженериками динамически
@someAnnotation(GenerictTypeParameter.class)
public aClass{
...
}
так что идея искать все классы с @someAnnotation, а затем распространить их с другим классом и получить это:
public aClass extends anotherClass<GenericTypeParameter>{
...
}
Учитывая, что в любом случае вам нужно добавить аннотацию и параметр в класс, что бы это дало вам прямое распространение в обычном режиме? –
Мне интересно это, и я хочу знать, возможно ли, может быть, полезно понять, что вы можете сделать с этими технологиями, возможно, будет полезно решить, какой класс будет расширяться в зависимости от того, какие аннотации вы добавляете, и необходимость добавления дженериков. Например, если присутствует '@ someAnnotation', распространяется на класс, но если присутствует и' @ someAnotheAnnotation', то распространяется на другой класс, возможно, также на развязку расширенного класса. –
@DiegoFernandoMurilloValenci, пожалуйста, имейте в виду, что дженериков не существует на уровне байт-кода, только в источнике. Поэтому использование ** javaassist ** не имеет смысла, и по этой причине оно не поддерживает дженерики. ** aspectj ** мог бы что-то сделать здесь, предоставляя вам использовать метод «с исходным кодом», а не стратегии байт-кода или загрузчика. – diginoise