2016-05-11 10 views
2

パーセルを使用する場合、@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) { 
    ... 
    } 
} 

もちろんそこに複数の一致のマッピングがある場合に曖昧であるかもしれないが、私は任意のあいまいさがなくても動作するように、この機能を取得して周りに任意のドキュメントを見つけることができないようです。

+0

関心のある一般的なフィールドマッピングの例を教えてください。 –

+0

私は「このインターフェイスのインスタンスを一様にシリアル化できます」というだけでなく、そのインターフェイスで使用するシリアル化解除メソッドを登録することも考えています。 "Parceler、このインターフェイスの種類をシリアル化し、そこを見てデシリアライズする"とはどうすればよいですか? "ジェネリックマッピング"とは、シリアライズコードを手書きするのではなく、パーセルを使用して自分のコードを生成することを意味します。 – Del

答えて

0

あなたは正しい、Parcelerは直接@Parcelで注釈を付けたクラスで動作し、(今で減価償却されるとすぐに、APIから削除されます)implementationsパラメータは、何か他のもののためのものです。

"一般的なフィールドマッピング"を解決するためにどのような問題を解決しようとしているのかを具体的に例を挙げてお答えします。

関連する問題