パーセルを使用する場合、@Parceler
を使用してインターフェイスに注釈を付けることが可能であり、実装クラスで@ParcelConstructor
と@ParcelFactory
の注釈を受け取ることができますか?パーセル - 実装上のファクトリとのインターフェイスの注釈
目標はParcelerで、一般的なフィールドマッピングを再利用するためのカスタムParcelConverterを書く避けるためですが、implementations=
argumentへ@Parcel
のようなものがスーパータイプ(のではなく、他の方法にマッピングするサブタイプの方がより向いているように見えます周り):
@Parcel // can this be used to serialize **all** implementations ...
public interface MyIface {
String getProperty1();
int getProperty2();
}
public class MyImpl implements MyIface {
@ParcelFactory // and can this be used to deserialize the interface?
public static MyImpl fromParcelerValues(final String property1, final int property2) {
...
}
}
もちろんそこに複数の一致のマッピングがある場合に曖昧であるかもしれないが、私は任意のあいまいさがなくても動作するように、この機能を取得して周りに任意のドキュメントを見つけることができないようです。
関心のある一般的なフィールドマッピングの例を教えてください。 –
私は「このインターフェイスのインスタンスを一様にシリアル化できます」というだけでなく、そのインターフェイスで使用するシリアル化解除メソッドを登録することも考えています。 "Parceler、このインターフェイスの種類をシリアル化し、そこを見てデシリアライズする"とはどうすればよいですか? "ジェネリックマッピング"とは、シリアライズコードを手書きするのではなく、パーセルを使用して自分のコードを生成することを意味します。 – Del