Как указано в комментариях к вопросу выше, я все еще не уверен, что вы хотите, но это звучит так, как будто вы хотите, чтобы обернуть объект получает и устанавливает в интерфейс с getAttribute. Это не то, что я считаю «бобом».
Итак, у вас есть интерфейс:
interface Thingie {
Object getAttribute(String attribute);
}
Вы должны написать реализацию того, что использует отражение.
class Thingie {
Object wrapped;
public Object getAttribute(String attribute) throws Exception {
Method[] methods = wrapped.getClass().getMethods();
for(Method m : methods) {
if (m.getName().equalsIgnoreCase("get"+attribute)) {
return m.invoke(wrapped);
}
}
}
}