Port value persistence¶
ポートの値は特定の状況で永続化(be persisted / seved)させることができます。UI上で入力ポートが編集されると defaultValue がノードの入力ポートに関連付けられ、グラフとともに保存されるようになります。さらに最上位グラフのポートでは Edit Port -> metadata -> persist value ( ポートのオプション を参照) の操作を行うことで永続化させることができます。
ポートの値を永続化させるには、その型のタイプにより異なるメカニズムをとります。
- 永続化されたKLオブジェクトの値は、 RTValToJSONEncoder と RTValFromJSONDecoder KLインターフェースを実装している必要があります。 String convertToString!() と Boolean convertFromString!(String data) メソッドをそれぞれ定義します。未実装の場合警告が表示されます。
注釈
KLの変更、エクステンションのバージョンの変更によるデータの互換性は、バージョン管理システムが内蔵されていないので、ユーザもしくは、永続化されたKLやエクステンションの String などにより適切に処理される必要があります。 - 他のKL型(基底型、構造体、配列)はそれらのメンバデータを深い json 走査(deep json traversal)の結果として保存します。ユーザはオブジェクトメンバが深い走査されることに注意してください。