このコード ジェネレーターが生成されたクラスに Jackson アノテーションを付ける方法を微調整するために、jsonschema2pojo にカスタム アノテーターを作成しています。
ユースケースを単純化するために、すでに注釈が付けられている JClass を用意しています。
JsonInclude( JsonInclude.Include.NON_NULL )
そして、私はそれを次のように置き換えたい:
JsonInclude( JsonInclude.Include.NON_EMPTY )
私は com.sun.codemodel:codemodel:2.6 を使用しています
元の注釈を削除せずに注釈を追加しようとすると
JDefinedClass clazz = ...; // the class we want to annotate
clazz.annotate(JsonInclude.class).param( "value", JsonInclude.Include.NON_EMPTY );
次に、 @JsonInclude を 1 つしか使用できないというコンパイル エラーが発生します。
だから私はそれを追加する前に注釈を削除しようとしました
JCodeModel codeModel = new JCodeModel();
JClass jsonInclude = codeModel.ref(JsonInclude.class);
clazz.annotations().remove( jsonInclude );
しかし、注釈のコレクションは変更できません...
JDefinedClass から特定の注釈を削除する方法はありますか?