次のようなものを(Javaで)記述できるようにしたいと思います。
public class A implements MagicallyConfigurable {
@configuration_source_type{"xml"}
@configuration_dir{"some/rel/path/"}
/* or maybe some other annotations specifying a db-based configuration etc. */
int length = 4 /* some kind of default */;
char c = '*' /* some kind of default */;
@do_not_configure
String title;
A(String title) {
/* possibly, but hopefully no need to, something like:
configure();
call here. */
this.title = title;
}
void goForIt() {
System.out.println(title);
for(int i=0; i < length; i++) {
System.out.print(c);
}
}
}
そしてそれが期待通りに機能するために。つまり、構成に基づいてフィールドを初期化する必要があるのは、アノテーションを追加し、インターフェイスを実装し、場合によっては単一の関数呼び出しを行うことだけです(ただし、それがない場合は可能です)。
これは理論的には実行可能だと確信しています。問題は、それを可能にする既存のライブラリ/フレームワーク/アドオン/thingieがあるかどうかです。(たぶん、Apache commons.configurationはどういうわけか?これまでに使用したことがありません。)