K
- キー要素の型V
- 値要素の型public abstract class MapBinding<K,V> extends MapExpression<K,V> implements Binding<ObservableMap<K,V>>
ObservableMap
のBinding
を実装するために必要なほとんどの機能を提供するベース・クラス。
MapBinding
は、簡単な無効性スキームを提供します。拡張クラスは、bind(Observable...)
を呼び出して依存性を登録できます。登録された依存性のいずれかが無効になる場合、このMapBinding
は無効とマークされます。unbind(Observable...)
を使用すると、依存性のリスニングを停止できます。
このクラスの具体的な実装を提供するには、依存性の現在の状態に基づいてこのバインディングの値を計算するためにメソッドcomputeValue()
を実装する必要があります。get()
が無効なバインディングに対して呼び出される場合に呼び出されます。
このベース・クラスの拡張方法の例は、DoubleBinding
を参照してください。
Binding
、MapExpression
Type | プロパティと説明 |
---|---|
ReadOnlyBooleanProperty |
empty
マップが空である場合に
true であるブール型プロパティ。 |
ReadOnlyIntegerProperty |
size
マップのサイズを表す整数プロパティ。
|
コンストラクタと説明 |
---|
MapBinding() |
修飾子と型 | メソッドと説明 |
---|---|
void |
addListener(ChangeListener<? super ObservableMap<K,V>> listener)
ObservableValue の値が変更されるたびに通知されるChangeListener を追加します。 |
void |
addListener(InvalidationListener listener)
Observable が無効になるたびに通知されるInvalidationListener を追加します。 |
void |
addListener(MapChangeListener<? super K,? super V> listener)
リスナーをこの監視可能なマップに追加します。
|
protected void |
bind(Observable... dependencies)
変更の依存性の監視を開始します。
|
protected abstract ObservableMap<K,V> |
computeValue()
このバインディングの現在の値を計算します。
|
void |
dispose()
空である
dispose() のデフォルトの実装。 |
ReadOnlyBooleanProperty |
emptyProperty()
マップが空である場合に
true であるブール型プロパティ。 |
ObservableMap<K,V> |
get()
computeValue() の結果を返します。 |
ObservableList<?> |
getDependencies()
空の
ObservableList を返すgetDependencies() のデフォルトの実装。 |
void |
invalidate()
バインディングを無効とマークします。
|
boolean |
isValid()
バインディングが有効かどうかを確認します。
|
protected void |
onInvalidating()
このバインディングが無効になる場合、反応するクラスを拡張して、メソッドonInvalidating()をオーバーライドできます。
|
void |
removeListener(ChangeListener<? super ObservableMap<K,V>> listener)
ObservableValue の値が変更されるたびに通知されるリスナーのリストから指定されたリスナーを削除します。 |
void |
removeListener(InvalidationListener listener)
Observable の値が無効になるたびに通知されるリスナーのリストから指定されたリスナーを削除します。 |
void |
removeListener(MapChangeListener<? super K,? super V> listener)
この監視可能リストからリスナーの削除を試行します。
|
ReadOnlyIntegerProperty |
sizeProperty()
マップのサイズを表す整数プロパティ。
|
String |
toString()
この
MapBinding オブジェクトの文字列表現を返します。 |
protected void |
unbind(Observable... dependencies)
変更の依存性の監視を停止します。
|
asString, clear, containsKey, containsValue, entrySet, get, getSize, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, keySet, mapExpression, put, putAll, remove, size, valueAt, valueAt, values
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getValue
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
public ReadOnlyIntegerProperty sizeProperty
sizeProperty
、クラス: MapExpression<K,V>
public ReadOnlyBooleanProperty emptyProperty
emptyProperty
、クラス: MapExpression<K,V>
public ReadOnlyIntegerProperty sizeProperty()
MapExpression
sizeProperty
、クラス: MapExpression<K,V>
public ReadOnlyBooleanProperty emptyProperty()
MapExpression
true
であるブール型プロパティ。emptyProperty
、クラス: MapExpression<K,V>
public void addListener(InvalidationListener listener)
Observable
Observable
が無効になるたびに通知されるInvalidationListener
を追加します。同じリスナーが複数回追加される場合、複数回通知されます。つまり、一意性を確認するためにチェックが実行されません。
実際の同じInvalidationListener
インスタンスが異なるObservables
に対して安全に登録される場合があるので注意してください。
Observable
は、リスナーの強参照を格納するため、リスナーはガベージ・コレクションされず、メモリー・リークが発生する可能性があります。使用後にremoveListener
を呼び出してリスナーを登録解除するか、WeakInvalidationListener
のインスタンスを使用してこの状況を回避することをお薦めします。
Observable
のaddListener
listener
- 登録するリスナーObservable.removeListener(InvalidationListener)
public void removeListener(InvalidationListener listener)
Observable
Observable
の値が無効になるたびに通知されるリスナーのリストから指定されたリスナーを削除します。
指定されたリスナーが以前に登録されていない場合(つまり、一度も追加されていなかった場合)、このメソッドの呼出しはno-opです。以前に追加されたことがある場合は削除されます。複数回追加された場合、最初の発生のみ削除されます。
Observable
のremoveListener
listener
- 削除するリスナーObservable.addListener(InvalidationListener)
public void addListener(ChangeListener<? super ObservableMap<K,V>> listener)
ObservableValue
ObservableValue
の値が変更されるたびに通知されるChangeListener
を追加します。同じリスナーが複数回追加される場合、複数回通知されます。つまり、一意性を確認するためにチェックが実行されません。
実際の同じChangeListener
インスタンスが異なるObservableValues
に対して安全に登録される場合があるので注意してください。
ObservableValue
は、リスナーの強参照を格納するため、リスナーはガベージ・コレクションされず、メモリー・リークが発生する可能性があります。使用後にremoveListener
を呼び出してリスナーを登録解除するか、WeakChangeListener
のインスタンスを使用してこの状況を回避することをお薦めします。
ObservableValue<ObservableMap<K,V>>
のaddListener
listener
- 登録するリスナーObservableValue.removeListener(ChangeListener)
public void removeListener(ChangeListener<? super ObservableMap<K,V>> listener)
ObservableValue
ObservableValue
の値が変更されるたびに通知されるリスナーのリストから指定されたリスナーを削除します。
指定されたリスナーが以前に登録されていない場合(つまり、一度も追加されていなかった場合)、このメソッドの呼出しはno-opです。以前に追加されたことがある場合は削除されます。複数回追加された場合、最初の発生のみ削除されます。
ObservableValue<ObservableMap<K,V>>
のremoveListener
listener
- 削除するリスナーObservableValue.addListener(ChangeListener)
public void addListener(MapChangeListener<? super K,? super V> listener)
ObservableMap
ObservableMap<K,V>
のaddListener
listener
- リストの変更をリスニングするリスナーpublic void removeListener(MapChangeListener<? super K,? super V> listener)
ObservableMap
ObservableMap<K,V>
のremoveListener
listener
- 削除するリスナーprotected final void bind(Observable... dependencies)
dependencies
- 監視する依存性protected final void unbind(Observable... dependencies)
dependencies
- 監視を停止する依存性public void dispose()
dispose()
のデフォルトの実装。Binding<ObservableMap<K,V>>
のdispose
public ObservableList<?> getDependencies()
ObservableList
を返すgetDependencies()
のデフォルトの実装。Binding<ObservableMap<K,V>>
のgetDependencies
ObservableList
public final ObservableMap<K,V> get()
computeValue()
の結果を返します。バインディングが無効である場合、メソッドcomputeValue()
のみ呼び出されます。get()
の最後の呼出しからバインディングが無効でなくなった場合、結果がキャッシュされて返されます。ObservableObjectValue<ObservableMap<K,V>>
のget
protected void onInvalidating()
public final void invalidate()
Binding
Binding
の値が強制的に再計算されます。Binding<ObservableMap<K,V>>
のinvalidate
public final boolean isValid()
Binding
Binding<ObservableMap<K,V>>
のisValid
Binding
が有効な場合はtrue
、そうでない場合はfalse
protected abstract ObservableMap<K,V> computeValue()
MapBinding
を拡張するクラスは、computeValue
の実装を提供する必要があります。
Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.