(クラス)
public abstract DataBindingContext
DataBinding のデータ ソース。
説明
オーバーライド
実装では、
DataBindingContext.get-data で元のデータソースからデータを読み取る方法を指定する必要があります。特にクラスの記述では、ソース内のデータ アイテムをアドレスするためにこのメソッドに与えられる
data-selector の型を指定して記述する必要があります。
また実装において、特定のバインドの
get-data を呼び出して返されるデータが変更するときには、バインドをリフレッシュする必要があります。この状況は、たとえば元のデータが外的要因により変化したか、コンテキストの「カーソル」位置が移動したなどの原因で起こることがあります。簡単な更新方法の 1 つは、このような変更が起きたときにコンテキストで
DataBindingContext.refresh (全バインドをリフレッシュする) を呼び出すことです。より選択的かつ効率的な更新は
DataBinding.refresh を使って実装できます。
コンストラクタ public | {DataBindingContext.default} |
アクセサ public DataBindingContext.pending-update?:
bool
フィールド public constant DataBindingContext.registered-bindings:{
Set-of DataBinding} ={{Set-of DataBinding}}
format: | このコンテキストのデータをバインド プロパティに適した値に変換します (可能な場合)。 |
get-data: | data-selector に関連付けられたデータを取得します。 |
public abstract | {DataBindingContext.get-data}:(data:any, exists?:bool) |
parse: | バインド プロパティの値をこの DataBindingContext に適した値に変換します (可能な場合)。 |
refresh: | 登録されている 1 つまたは複数のバインドのターゲット プロパティをリフレッシュします。 |
public | {DataBindingContext.refresh ...:Object}:void |
report: | バインドで refresh、update または validate 操作が完了した後で呼び出されます。 |
update: | 登録されている 1 つまたは複数のバインドのターゲット プロパティからコンテキストを更新します。 |
validate: | 登録されている 1 つまたは複数のバインドのターゲット プロパティの値を検証します。 |
(コンストラクタ)
public | {DataBindingContext.default} |
(アクセサ)
アクセサ public DataBindingContext.pending-update?:
bool 登録済みのバインドにペンディング中の更新があるかどうか調べます。
オーバーライド
(フィールド)
public constant DataBindingContext.registered-bindings:{
Set-of DataBinding} ={{Set-of DataBinding}}
このコンテキストに現在登録されている DataBinding。
説明
アプリケーションではこのコレクションを直接変更しないでください。
(メソッド)
このコンテキストのデータをバインド プロパティに適した値に変換します (可能な場合)。
プログラミング注意事項
value: フォーマットされる値。
binding: この変換が行われる DataBinding。このコンテキストに登録されている必要があります。
戻り値
説明
このメソッドが変換を実行できない場合、または実行を望まない場合には、ターゲットで使われた入力値をそのまま返すことがあります。ただしこのメソッドが value にエラーがあると判定した場合、エラーをスローすることがあります。
オーバーライド
このメソッドの既定の実装では、以下の変換を実行します。
その他の場合、変換は適用されません。追加のフォーマット機能を持つサブクラスでは、このメソッドをオーバーライドする必要があります。
(メソッド)
public abstract | {DataBindingContext.get-data}:(data:any, exists?:bool) |
data-selector に関連付けられたデータを取得します。
data-selector: any 型。サブクラスではこの引数に適切な型を指定する必要があります。入力された値がこのコンテキストに適さない場合はエラーがスローされます。
戻り値
このメソッドは 2 つの値を返します。
- データ : any 型のデータ (存在する場合)。
- exists? : data-selector に現在使用可能なデータがない場合は false (たとえば、コンテキスト上のカーソルが最後のレコードを超えている場合、現在使用可能なレコードがない場合)。この場合、最初の引数の値は正当に定義されません。
(メソッド)
バインド プロパティの値をこの DataBindingContext に適した値に変換します (可能な場合)。
プログラミング注意事項
value: 解析する値。この値は通常、バインド プロパティの現在の値です。
binding: この変換が行われる DataBinding。このコンテキストに登録されている必要があります。
戻り値
説明
このメソッドが変換を実行できない場合、または実行を望まない場合には、コンテキストで使われた入力値をそのまま返すことがあります。ただしこのメソッドが value にエラーがあると判定した場合、そのエラーを説明する DataBindingValidationFailure を生成して返すことがあります。
オーバーライド
このメソッドの既定の実装では、変換は行われず value が返されるだけです。解析機能を提供するサブクラスでは、このメソッドをオーバーライドする必要があります。
(メソッド)
public | {DataBindingContext.refresh ...:Object}:void |
登録されている 1 つまたは複数のバインドのターゲット プロパティをリフレッシュします。
...:
ターゲットを指定しない場合、コンテキストに登録されているすべてのバインドがリフレッシュされます。
説明
オーバーライド
通常はオーバーライドされません。
(メソッド)
このコンテキストで DataBinding を登録します。
プログラミング注意事項
説明
このコンテキストで binding が既に存在する場合、このメソッドでは何も行われません。
オーバーライド
サブクラスでは、登録するバインドがこのコンテキストに適していることを確認できるようにこのメソッドをオーバーライドすることをお勧めします。
実装では、このメソッドのスーパー実装を必ず呼び出してください。
(メソッド)
バインドで refresh、update または validate 操作が完了した後で呼び出されます。
プログラミング注意事項
オーバーライド
このメソッドの基本実装では何も行われません。サブクラスではこのクラスをオーバーライドして、バインドとバインド オブジェクトの状態変化に応答できるようにします。
- ディスプレイ内で持続性のある変更を行い、ターゲットの有効性をユーザーに通知します。(たとえば、ターゲットを「ハイライト表示」の色で設定したり、隣接する領域にエラーの説明を表示します。)このような持続性を持つ変更は、validation-failure プロパティが null であると判定されたときに元に戻すこともできます。
- null 以外の validation-failure に対し、データを再送信または再検証して応答します。この場合、無限ループが起こらないように特に注意してください。
- DataBinding.refresh を呼び出して不正な値をフラッシュします。validation-failure が null 以外でも安全であると考えられることができる点に注意してください。これは、DataBinding.refresh が検証エラーを常にクリアするためです。
特定バインドの
validation-failure が、1 つの更新または検証で生成された
DataBindingValidationFailure の大きな階層の一部分である可能性があります。この場合、コンテキストで複数のポップアップ メッセージ (または他の割り込み警告) が生成されないように注意してください。
(メソッド)
このコンテキストから DataBinding を登録解除します。
binding: 登録解除する DataBinding。
プログラミング注意事項
説明
このコンテキストで binding がまだ登録されていない場合、このメソッドでは何も行われません。
オーバーライド
このメソッドの実装では、必ずスーパー実装を呼び出してください。
(メソッド)
登録されている 1 つまたは複数のバインドのターゲット プロパティからコンテキストを更新します。
...:
このコンテキストに登録されていないバインド、または allow-update? が true でないバインドが明示的に指定された場合はエラーになります。
戻り値
プログラミング注意事項
アプリケーションで使用します。一般的な使用法では、[送信] ボタンによる
ValueChanged または
Action イベントなどのイベント ハンドラからこのメソッドを呼び出します。
説明
オーバーライド
(メソッド)
登録されている 1 つまたは複数のバインドのターゲット プロパティからコンテキストを更新します。
...: 更新する 1 つまたは複数の
DataBinding。これらのバインドは、
allow-update? = true であり、このコンテキストに登録されていることをあらかじめ確認しておく必要があります。
戻り値
プログラミング注意事項
アプリケーションで使用せず、通常は直接呼び出しません。サブクラスではこのメソッドをオーバーライドする必要があります。
オーバーライド
データ更新を許可するサブクラスでは、このメソッドをオーバーライドして更新の実施方法を定義してください。既定の実装ではエラーをスローします。
(メソッド)
登録されている 1 つまたは複数のバインドのターゲット プロパティの値を検証します。
...:
このコンテキストに登録されていないバインド、または allow-update? が true でないバインドが明示的に指定された場合はエラーになります。
戻り値
プログラミング注意事項
アプリケーションで使用します。一般的な使用法では、[確認] ボタンによる
ValueChanged または
Action イベントなどのイベント ハンドラからこのメソッドを呼び出します。
説明
オーバーライド
(メソッド)
登録されている 1 つまたは複数のバインドのターゲット プロパティを検証します。
...: 検証する 1 つまたは複数の
DataBinding。これらのバインドは、
allow-update? = true であり、このコンテキストに登録されていることをあらかじめ確認しておく必要があります。
戻り値
プログラミング注意事項
アプリケーションで使用せず、通常は直接呼び出しません。サブクラスではこのメソッドをオーバーライドする必要があります。
オーバーライド
データ更新を許可するサブクラスでは、このメソッドをオーバーライドして検証の実施方法を定義してください。既定の実装ではエラーを返します。