- java.lang.Object
-
- java.util.Observable
-
@Deprecated(since="9") public class Observable extends Object
非推奨。このクラスとObserverインタフェースは推奨されていません。ObserverとObservableでサポートされているイベント・モデルは非常に限定されており、Observableによって配信される通知の順序は不定であり、状態の変更は通知と1対1で対応していません。 豊富なイベント・モデルの場合は、java.beansパッケージの使用を検討してください。 スレッド間の信頼性の高い順序付きメッセージングのために、java.util.concurrentパッケージ内の同時データ構造の1つを使用することを検討してください。 リアクティブ・ストリーム・スタイルのプログラミングについては、FlowAPIを参照してください。このクラスは、Observableオブジェクト、つまりモデル/ビュー・パラダイムの「データ」を表します。 アプリケーションが被監視にするオブジェクトを表すために、このクラスをサブクラス化できます。Observableオブジェクトは、1つまたは複数のObserverを持つことができます。 Observerには、
Observerインタフェースを実装するオブジェクトが成ることができます。 Observableインスタンスは変わると、そのObservableのnotifyObserversメソッドを呼び出すアプリケーションは、そのすべてのObserverに対してそれらのupdateメソッドを呼び出すことで変更を通知します。通知が配信される順序は未指定です。 Observableクラスで提供されるデフォルト実装がObserverに通知する順序は、Observerが登録した重要度に基づきますが、サブクラスは必要に応じてこの順序を変更したり、未保証の順序を使用したり、スレッドごとに通知を配信したり、サブクラスがこの順序に従うことを保証したりできます。
この通知メカニズムはスレッドとは無関係であり、
Objectクラスのwaitおよびnotifyメカニズムからは完全に独立しています。Observableオブジェクトが新しく作成されたときに、Observerのセットは空です。 2つのObserverは、
equalsメソッドがそれらについてtrueを返す場合にだけ、同じと見なされます。
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 Observable()非推奨。ObserverがゼロでObservableを構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 voidaddObserver(Observer o)非推奨。このオブジェクトのObserverのセットにObserverを追加します(セット内にすでにあるいくつかのObserverと同じでない場合)。protected voidclearChanged()非推奨。このオブジェクトがもう変更された状態でないこと、つまり、最新の変更がすべてのObserverにすでに通知されて、以降はhasChangedメソッドがfalseを返すことを示します。intcountObservers()非推奨。このObservableオブジェクトのObserverの数を返します。voiddeleteObserver(Observer o)非推奨。このオブジェクトのObserverのセットから1つのObserverを削除します。voiddeleteObservers()非推奨。Observerリストを消去します(このオブジェクトにObserverがなくなります)。booleanhasChanged()非推奨。このオブジェクトが変更されたかどうかを判定します。voidnotifyObservers()非推奨。このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。voidnotifyObservers(Object arg)非推奨。このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。protected voidsetChanged()非推奨。このObservableオブジェクトを変更されたものとしてマークします。以降はhasChangedメソッドがtrueを返します。
-
-
-
メソッドの詳細
-
addObserver
public void addObserver(Observer o)
非推奨。このオブジェクトのObserverのセットにObserverを追加します(セット内にすでにあるいくつかのObserverと同じでない場合)。 複数のObserverに通知が配信される順序は未指定です。 クラスのコメントを参照してください。- パラメータ:
o- 追加するObserver。- 例外:
NullPointerException- パラメータoがnullの場合。
-
deleteObserver
public void deleteObserver(Observer o)
非推奨。このオブジェクトのObserverのセットから1つのObserverを削除します。 このメソッドにnullを渡しても、何の効果もありません。- パラメータ:
o- 削除するObserver。
-
notifyObservers
public void notifyObservers()
非推奨。このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。各Observerの
updateメソッドは、2つの引数(このObservableオブジェクトとnull)で呼び出されます。 つまり、このメソッドは次と同じになります。notifyObservers(null)
-
notifyObservers
public void notifyObservers(Object arg)
非推奨。このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。各Observerの
updateメソッドは、2つの引数(このObservableオブジェクトとarg引数)で呼び出されます。- パラメータ:
arg- 任意のオブジェクト。- 関連項目:
clearChanged(),hasChanged(),Observer.update(java.util.Observable, java.lang.Object)
-
deleteObservers
public void deleteObservers()
非推奨。Observerリストを消去します(このオブジェクトにObserverがなくなります)。
-
setChanged
protected void setChanged()
非推奨。このObservableオブジェクトを変更されたものとしてマークします。以降はhasChangedメソッドがtrueを返します。
-
clearChanged
protected void clearChanged()
非推奨。このオブジェクトがもう変更された状態でないこと、つまり、最新の変更がすべてのObserverにすでに通知されて、以降はhasChangedメソッドがfalseを返すことを示します。 このメソッドは、notifyObserversメソッドによって自動的に呼び出されます。
-
hasChanged
public boolean hasChanged()
非推奨。このオブジェクトが変更されたかどうかを判定します。- 戻り値:
- このオブジェクトで
clearChangedメソッドよりあとにsetChangedメソッドが呼び出された場合にだけtrue、そうでない場合はfalse。 - 関連項目:
clearChanged(),setChanged()
-
countObservers
public int countObservers()
非推奨。このObservableオブジェクトのObserverの数を返します。- 戻り値:
- このオブジェクトのObserverの数
-
-