私は以下の奇妙な要件を持っています。バイトコードを生成して.classファイルに保存するには?
私は与えられています:
- いくつかのメソッド名のリストを。
- 上記のメソッドのパラメータの名前と型。
- 上記の方法の機能性。これは次のとおりです。 各パラメータについて、メソッドは
toString
を使用して文字列に変換し、文字列の配列を取得します。この配列に対して、このメソッドは関数foo
を適用します。関数foo
は、入力としてString []
タイプを取り、String
を出力します。メソッドはfoo
が返すものを返します。foo
のコードはJavaオブジェクトの内部に与えられ、ブラックボックスとしてアクセスされます。
1.および2.の情報は、テキストファイルまたはXMLファイルに入れることができます。この目的のために、私たちはどのような方法であれ、Javaオブジェクト内で利用できると考えています。
タスクは、これらのメソッドを実装し、JVM上で実行できる.class
ファイル(バイトコード)を作成することです。
私はthis assembler libraryだと思います。誰も簡単な方法を提案することはできますか?
[編集:]私は他の方法を考えることができます:.java
ファイルを生成し、それをコンパイルして.class
ファイルを取得します。
[コンテキスト:]私は数百もの方法でこれを行う必要があります。ショートカットが必要なので、手動でコードを書き込むのではなく、私の仕事を自動化することができます。ここで
あなたはより多くの文脈を与えてください。何を達成したいのですか...一般的な動作(foo)の特定のメソッドを "作る"ことが私が見る唯一の理由は、コンパイル時に役立つ型の安全性です...生成されたコードをどのように使用/呼び出すつもりですか? – pgras
私は生成されたコードを呼び出しません。私がしたいことは、誰かのためにAPIライブラリ(jar)を使用することです。クラスは特定の名前になりますので、呼び出すAPIを知ることができます。 – Jus12
OK何百ものメソッドの問題を見て、メソッドのリストが頻繁に変更されるかどうか?使用している入力の例がありますか? – pgras