5

Java プロトコルのバッファ タイプを変更可能にするにはどうすればよいですか?

Protoc.exe はセッターを生成しませんか?

基本的に、オブジェクトを作成してからフィールド値を変更する必要があります。

ありがとう

4

3 に答える 3

3

それはライブラリの意図された使用法ではありません。ビルダーの段階で値を設定してから、ビルダーから不変の DTO を作成します。別の値が必要な場合: ビルダーで値を変更し、DTO を再生成します。

または、protobuf ワイヤ仕様をサポートするライブラリが複数あることに注意してください。IIRC "protostuff" は可変 POJO オブジェクトで動作します。

于 2013-04-21T07:04:01.823 に答える
2

私の理解では、標準のプロトコル ツールと標準のジェネレータ プラグインではこれを行うことができません。

私の知る限り、唯一のオプションは、必要なことを行うために独自のジェネレーターを作成する (または既存のジェネレーターを変更する) ことです。

または、「厄介な」反射トリックを使用してオブジェクトに到達し、そのように状態を変更することもできます。

(オブジェクトを作成した後にフィールド値を変更する必要があると感じるのはなぜですか?ビルダーでフィールド値を変更してbuild再度呼び出すことはできませんか?)

于 2013-04-21T06:55:16.013 に答える