...
以下のダイアグラムは、フィールドのリンク状況を説明しています。
- すべてのステップが、デフォルトとアウトプットメタデータフィールドを持ちます。ターゲットフィールドは、linkFieldUUIDを使用して、ソースフィールドにリンクされます。ソースフィールドのfieldUUIDは、ターゲットフィールドのlinkedFeildUUIDです。例えば、S1DF1のUUIDは、S1O1F1のlinkFieldUUIDです。
- ステップ1は、複数のアウトプットステップです。ひとつのデフォルトメタデータとリンクするアウトプットメタデータフィールドのセットが2つあります。
- ステップ1は、インラインステップとリンクしています。インラインステップは概念的に、その他任意のトランスフォーメーションステップと同一ですが、ユーザーインターフェイスで適用される方法に違いがあります。
- ステップ3には、S3OF3というアウトプットを持たないフィールドがあり、ステップ4のどのフィールドともリンクしていません。
- ステップ4は、複数のインプットステップです。ステップ1とステップ3からのフィールドはリンクしています。デフォルトフィールドのS4DF1は、ステップ4から生成されているため、インプットステップからのフィールドともリンクしていません。生成されたフィールドのlinkFieldUUIDは、その生成方法に応じて設定されます。
- フィールドが、特定のデフォルトメタデータフィールドと関連しない場合、linkFieldUUIDは自分自身を指します。
- フィールドが、任意のデフォルトフィールドの複製、または他フィールドを置き換える場合、linkFieldUUIDは、そのデフォルトメタデータフィールドのFieldUUIDになります。
...
FieldUUIDとlinkFieldUUIDを使用して、インプットフィールドと(デフォルトメタデータフィールドを介した)アウトプットフィールドのリンク方法を解決することができます。しかし、これにはフィールドの反復処理が必要になるため、常に便利な方法であるとは限りません。Wire classは、これらのフィールドを簡単にマッピングする方法を提供します。これはその後、データの取得や送信に使用されます。APIはwireをセットアップし、ウィジェット開発者は、デフォルト/アウトプットメタデータコレクション内のフィールド順序を心配することなく、これをデータの操作に使用することができます。
以下の例を考慮しましょう。
上図で強調されているリンクが、インラインステップ内でのwireです。wireは、その「結合(S1OF1、ISDF1、ISOF1は、それぞれ、inputFieldUUID、fieldUUID(デフォルトメタデータ)、outputFieldUUIDです)」のいずれかを使用して、インラインステップの実装から参照されます。
...