Код: Выделить всё
public interface Mapping {
O calculate(I input);
Class getInputClass();
Class getOutputClass();
}
Я хочу определить сопоставления во время выполнения и создать их экземпляры посредством отражения. Одним из примеров такого сопоставления является следующее:
Код: Выделить всё
public class DoublerMapping implements Mapping {
@Override
DoublerOutput calculate(DoublerInput input){
DoublerOutput output = new DoublerOutput();
output.setValue(input.getValue() * 2);
return output;
}
@Override
Class getInputClass(){
return DoublerInput.class;
}
@Override
Class getOutputClass(){
return DoublerInput.class;
}
}
Как нужно ли мне создавать входные данные I Extension во время выполнения и передавать их обратно в параметризованный класс Mapping? Даже Mapping.execute(mapping.getInputClass().getDeclaredConstructor().newInstance()) не компилируется.
Или есть лучший способ добиться этого?
Подробнее здесь: https://stackoverflow.com/questions/790 ... reflection
Мобильная версия