私たちは、プロジェクト間で使用するJavaコードのライブラリを用意しています。これらのプロジェクトの中には、このライブラリのJavaオブジェクトにアノテーションを追加する必要があります(つまり、あるプロジェクトではJAXB、JSONなどの注釈を付ける必要があるためJAX-RSサーブレットの実装で使用されます)。私が抱えている問題は、元のライブラリを変更せずにこれらの注釈を追加する方法を理解できなかったことです。Javaプロジェクトでアノテーションを追加/変更する
この例考えてみましょう:いくつかのプロジェクトで
public class MyClass
{
private String field1;
private int field2;
}
を、私はそれが最初は私が個別に注釈を付けているインターフェイスや派生クラスを使用して考えた
public class MyClass
{
@Annotation1
private String field1;
@Annotation2
private int field2;
}
たかのように動作するクラスを希望しますそれを行う方法(または可能かどうか)を理解することができませんでした。また、Javassistの提案であるin this thread(Javaバイトコード操作アプローチ)についても説明しましたが、問題はAndroidクライアントでも同様に動作する必要があるため、私の選択肢ではありません。この時点で私はアイデアがありません。
誰かが何らかの助けになると感謝します。たぶん私は何かを見逃している、あるいは私がしようとしていることが正しい方法ではないかもしれない。いずれにしても、私は進んでいくためにいくつかの指導が必要です。
ありがとうございます。
元のライブラリを変更することで問題は何ですか?私の言うとおり、あなたのコードです。 – CommonsWare
ライブラリは、多数のオブジェクト、そのコレクション、およびメモリ内のCRUD機能(制約、検証など)を管理します。これらのオブジェクトのシリアライゼーションと永続性についての知識はありません。これらのオブジェクトを別々にしておきたいと思います。また、使用できないアノテーションは、ターゲットプラットフォームで問題を引き起こす可能性があります.AnnnnnはJAXBアノテーションを持たず、アノテーションを処理するフレームワークは、JAXBアノテーションが使用されていなくても(NoClassDefFoundError)、Androidで失敗します。アノテーションをターゲットプラットフォームで使用しない場合は、アノテーションを追加しないでください。 – alokoko