Java 7 用の Java 8 の機能の 1 つが必要です: メソッドの自動インターフェイス実装生成 (リフレクション呼び出しによるパフォーマンスの低下を避けるため)。Java 8 がコンパイル時に生成を提供することは知っていますが、Java 7 (メタデータ ファイルのメンテナンスなし) では不可能だと思います。したがって、実行時の実装生成に同意します。
例:
私は次のインターフェースを持っています:
public interface Extractor<E> {
public Object getProperty(E aSourceObject);
}
そしてBeanクラス(またはインターフェース)
public class Foo {
public int getProperty1();
public String getProperty2();
public boolean getProperty3();
}
Foo の各プロパティに Extractor インターフェースの実装が必要です。Foo::getProperty1
Java 8のようなもの。
public class Foo1Extractor implements Extractor<Foo> {
public Object getProperty(Foo anObject) {
return anObject.getProperty1();
}
}
使用する必要がありますJavaCompiler
か (現在、実装するインターフェイスがほとんどなく、テンプレート クラスを操作できます)、またはより良い解決策がありますか?
主な要件は、短いバイトコード生成時間と LGPL 互換性 (商用製品で使用可能) です。
可能であれば、私の場合の例を少し挙げてください。