DataBinding (クラス)
public DataBinding
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

DataBindingTarget の指定プロパティを DataBindingContext からのデータと同期させるという指定。


コンストラクタ
default:このオブジェクトを作成します。
コンストラクタ public {DataBinding.default
property-name:String,
data-selector:any,
target:#DataBindingTarget = null,
context:#DataBindingContext = null,
default-value:any = DataBinding.unset,
parse:#{proc-type {any, DataBinding}:any} = null,
format:#{proc-type {any, DataBinding}:any} = null,
report:#{proc-type {DataBinding}:void} = null,
allow-update?:bool = true,
auto-register?:bool = not {keyword-supplied? context}
}

プロパティ
allow-update?:このバインドを更新に使用できるかどうかを指定します。
フィールド public constant DataBinding.allow-update?:bool
auto-register?:このバインドがその targetDataBindingContext で自動的に登録されるかどうかを調べます。
アクセサ public DataBinding.auto-register?:bool
セッター public DataBinding.auto-register?:bool
context:このバインドが登録されている DataBindingContext
アクセサ public DataBinding.context:#DataBindingContext
セッター public DataBinding.context:#DataBindingContext
data-selector:context から特定のデータ アイテムを識別するのに使います。
フィールド public constant DataBinding.data-selector:any
default-value:使用可能なデータがない場合に使う値。
フィールド public constant DataBinding.default-value:any
format:バインドの target に押し出される前のデータを変換するプロシージャ。
フィールド public constant DataBinding.format:#{proc-type {any, DataBinding}:any}
parse:バインドの context に押し戻される前のデータを変換するプロシージャ。
フィールド public constant DataBinding.parse:#{proc-type {any, DataBinding}:any}
pending-update?:このバインドが最後にリフレッシュされた後で target のバインド プロパティが変更されたかどうか調べます。
アクセサ public DataBinding.pending-update?:bool
property-name:target のバインド プロパティの名前。
フィールド public constant DataBinding.property-name:String
property-type:バインド プロパティの Type
アクセサ public DataBinding.property-type:Type
report:このバインドで refreshupdate または validate 操作が完了した後で実行されるプロシージャ。
フィールド public constant DataBinding.report:#{proc-type {DataBinding}:void}
target:バインドの DataBindingTarget
アクセサ public DataBinding.target:#DataBindingTarget
セッター package DataBinding.target:#DataBindingTarget
validation-failure:このバインドで最後に行われた update または validate に関連する DataBindingValidationFailure (存在する場合)。
フィールド public DataBinding.validation-failure:#DataBindingValidationFailure

クラス変数と定数
unset:可能な場合にバインド プロパティを「設定解除」することを指定するフラグ。
public constant DataBinding.unset:any ={DataBindingUnset}

メソッド
get-parsed-value:バインド プロパティの解析値を返します。
public {DataBinding.get-parsed-value}:any
note-target-binding-context-changed:バインドの targetdata-binding-context プロパティが変更された可能性があることをこのバインドに通知します。
public {DataBinding.note-target-binding-context-changed}:void
refresh:ターゲット プロパティをコンテキストと同期させます。
public {DataBinding.refresh}:void
set-formatted-value:ターゲットのバウンド プロパティを設定します。
protected {DataBinding.set-formatted-value val:any}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {DataBinding.default
property-name:String,
data-selector:any,
target:#DataBindingTarget = null,
context:#DataBindingContext = null,
default-value:any = DataBinding.unset,
parse:#{proc-type {any, DataBinding}:any} = null,
format:#{proc-type {any, DataBinding}:any} = null,
report:#{proc-type {DataBinding}:void} = null,
allow-update?:bool = true,
auto-register?:bool = not {keyword-supplied? context}
}

このオブジェクトを作成します。

property-name: Stringproperty-name を参照。
data-selector: anydata-selector を参照。
default-value: anydefault-value を参照。
target: DataBindingTargettarget を参照。
context: DataBindingContextcontext を参照。
parse: #{proc-type {any, DataBinding}:any} parse を参照。
format: #{proc-type {any, DataBinding}:any} format を参照。
report: #{proc-type{DataBinding}} report を参照。
allow-update?: boolallow-update? を参照。
auto-register?: boolauto-register? を参照。context の値が指定されている場合、既定で false になり、指定がない場合は true になります。

プログラミング注意事項

このオブジェクトのインスタンスを作成するのに、bind マクロも使用できます。ほとんどの場合、DataBinding の作成ではこのコンストラクタが提供する構文よりもこのマクロの方が扱いやすい構文を提供します。

説明

バインドは、明示的な target または context を指定せずに作成できます。ただし、これら 2 つのプロパティが非 null 値に設定されるまで、バインドは完了せずアクティブにはなりません。完了していないバインドでメソッドを呼び出すと、大抵の場合はエラーが生成されます。
target を指定するには、DataBindingTarget.add-data-binding を続けて呼び出す必要があります。一般的には、このメソッド呼び出しは暗黙的に行われる点に注意してください。たとえば、DataBindingVisual のコンストラクタに与えると、このメソッドを使って Visual にバインドが追加されます。
context は明示的に指定することも、ターゲットの data-binding-context プロパティから自動的に指定することもできます。詳細は DataBinding.auto-register? を参照してください。



プロパティ詳細
allow-update? (フィールド)
public constant DataBinding.allow-update?:bool

このバインドを更新に使用できるかどうかを指定します。

説明

このバインドの DataBindingContext が「読み取り専用」である場合は false になります。その他の場合は true になります。
false の場合、DataBindingContext.validateDataBindingContext.update の呼び出し中 target のデータ検証または context への書き込みは行われません。


auto-register? (アクセサ)
アクセサ public DataBinding.auto-register?:bool
セッター public DataBinding.auto-register?:bool

このバインドがその targetDataBindingContext で自動的に登録されるかどうかを調べます。



context (アクセサ)
アクセサ public DataBinding.context:#DataBindingContext
セッター public DataBinding.context:#DataBindingContext

このバインドが登録されている DataBindingContext

説明

DataBinding.auto-register?true (既定値) の場合、このバインドはターゲットの data-binding-context で自動的に登録 (および登録解除) されます。この場合、明示的にこのプロパティを設定しようとするとエラーになります。
DataBinding.auto-register?false の場合、このプロパティを設定することで明示的に特定のコンテキストを指定できます。この場合、指定されたコンテキストでバインドが実際に登録されるのは有効な target が存在する場合のみです。詳細は DataBindingContext.register-binding を参照してください。


data-selector (フィールド)
public constant DataBinding.data-selector:any

context から特定のデータ アイテムを識別するのに使います。

説明

この値の指定方法については、関連する DataBindingContext の説明を参照してください。DataBindingContext.get-data も参照してください。


default-value (フィールド)
public constant DataBinding.default-value:any

使用可能なデータがない場合に使う値。

説明

バインドがコンテキストを持たない場合、または DataBindingContext.get-dataexists? が false を返す場合、この値が使われます。


format (フィールド)
public constant DataBinding.format:#{proc-type {any, DataBinding}:any}

バインドの target に押し出される前のデータを変換するプロシージャ。

説明

このプロシージャを指定して、DataBindingContext.format による既定の変換を置き換えます。このプロシージャは既定の変換を参照できる点に注意してください。
このプロシージャの入力値と出力値の詳細は DataBindingContext.format を参照してください。


parse (フィールド)
public constant DataBinding.parse:#{proc-type {any, DataBinding}:any}

バインドの context に押し戻される前のデータを変換するプロシージャ。

説明

このプロシージャを指定して、DataBindingContext.parse による既定の変換を置き換えます。このプロシージャは既定の変換を参照できる点に注意してください。
このプロシージャの入力値と出力値の詳細は DataBindingContext.parse を参照してください。


pending-update? (アクセサ)
アクセサ public DataBinding.pending-update?:bool

このバインドが最後にリフレッシュされた後で target のバインド プロパティが変更されたかどうか調べます。

説明

このプロパティを使って、DataBindingContext.updateDataBindingContext.validate でこのバインド値の検証または更新を行うかどうかを決定します。
DataBindingContext.pending-update? も参照してください。


property-name (フィールド)
public constant DataBinding.property-name:String

target のバインド プロパティの名前。

説明

このプロパティが target に存在しない場合はエラーになります。同じプロパティを持つ複数の DataBindingDataBindingTarget に追加するとエラーになることに注意してください。


property-type (アクセサ)
アクセサ public DataBinding.property-type:Type

バインド プロパティの Type



report (フィールド)
public constant DataBinding.report:#{proc-type {DataBinding}:void}

このバインドで refreshupdate または validate 操作が完了した後で実行されるプロシージャ。

説明

DataBindingContext.report による既定の処理を補完するためにこのプロシージャを指定します。このプロシージャは DataBindingContext.reportで実行されます。
このプロシージャへの入力値と出力値の詳細は DataBindingContext.report を参照してください。


target (アクセサ)
アクセサ public DataBinding.target:#DataBindingTarget
セッター package DataBinding.target:#DataBindingTarget

バインドの DataBindingTarget

説明

このバインドが DataBindingTarget を持たない場合、この値は null になります。
このオブジェクトのコンストラクタで指定するか、DataBindingTarget.add-data-binding または DataBindingTarget.remove-data-binding を呼び出して変更します。


validation-failure (フィールド)
public DataBinding.validation-failure:#DataBindingValidationFailure

このバインドで最後に行われた update または validate に関連する DataBindingValidationFailure (存在する場合)。

説明

DataBindingContext.updateDataBindingContext.validate は、このフィールドを DataBindingValidationFailure に設定して検証エラーが起こったことを示します。その他の場合、このフィールドは null に設定されます。
DataBinding.refresh はこのフィールドを常に null に設定します。
アプリケーションではこのプロパティを直接変更しないでください。



クラス変数と定数の詳細
unset (クラス定数)
public constant DataBinding.unset:any ={DataBindingUnset}

可能な場合にバインド プロパティを「設定解除」することを指定するフラグ。

プログラミング注意事項

この定数は、DataBinding.default-value で使われるか DataBinding.format が返す値として使われる目的で用意されています。

説明

バインドのリフレッシュ中にこれが検知された場合、プロパティを設定する代わりに DataBindingTarget.unset-property メソッドが呼び出されます。
この定数は注意して使用してください。プロパティの設定解除に失敗した場合 (つまり、unset-propertyfalse を返す場合)、エラーがスローされます。




メソッド詳細
get-parsed-value (メソッド)
public {DataBinding.get-parsed-value}:any

バインド プロパティの解析値を返します。

プログラミング注意事項

通常はアプリケーションで使用しません。DataBindingContext の実装で使用します。

説明

このメソッドは、DataBindingContext.parse または DataBinding.parse を呼び出します (詳細を確認してください)。


note-target-binding-context-changed (メソッド)
public {DataBinding.note-target-binding-context-changed}:void

バインドの targetdata-binding-context プロパティが変更された可能性があることをこのバインドに通知します。

プログラミング注意事項

通常はアプリケーションから呼び出しません。DataBindingTarget の実装で呼び出してください。

説明

このメソッドの既定の実装では、DataBinding.auto-register?true の場合に、このバインドの context プロパティをターゲットの新しい値に同期させます。その他の場合は何も行われません。


refresh (メソッド)
public {DataBinding.refresh}:void

ターゲット プロパティをコンテキストと同期させます。

プログラミング注意事項

通常このメソッドは、元のデータの変更に反応してターゲットをリフレッシュするために DataBindingContext で呼び出されます。アプリケーションでこのメソッドを呼び出して、強制的にリフレッシュすることもできます。

説明

ターゲット プロパティに互換性のない値を指定した結果として発生するエラーはすべてスローされます。
DataBindingTarget.refresh-data-binding も参照してください。このメソッドを呼び出すだけですが、より便利な構文を提供しています。


set-formatted-value (メソッド)
protected {DataBinding.set-formatted-value val:any}:void

ターゲットのバウンド プロパティを設定します。

val: any。設定する値。この値が定数 DataBinding.unset になる場合もあります。この場合、DataBindingTarget.unset-property メソッドが呼び出されます。

プログラミング注意事項

DataBinding.refresh の実装によって呼び出されます。

説明

このメソッドを呼び出す前に、DataBindingContext.formatDataBinding.format のいずれかをこのメソッドへの入力値に適用しておく必要があります。