java.lang.Object
java.util.Observable
@Deprecated(since="9") public class Observable extends Object
非推奨。
このクラスは、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を返します。
- 
コンストラクタの詳細- 
Observablepublic Observable()非推奨。ObserverがゼロでObservableを構築します。
 
- 
- 
メソッドの詳細- 
addObserverpublic void addObserver(Observer o)非推奨。このオブジェクトのObserverのセットにObserverを追加します(セット内にすでにあるいくつかのObserverと同じでない場合)。 複数のObserverに通知が配信される順序は未指定です。 クラスのコメントを参照してください。- パラメータ:
- o- 追加するObserver。
- 例外:
- NullPointerException- パラメータoがnullの場合。
 
- 
deleteObserverpublic void deleteObserver(Observer o)非推奨。このオブジェクトのObserverのセットから1つのObserverを削除します。 このメソッドにnullを渡しても、何の効果もありません。- パラメータ:
- o- 削除するObserver。
 
- 
notifyObserverspublic void notifyObservers()非推奨。このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。各Observerの updateメソッドは、2つの引数(このObservableオブジェクトとnull)で呼び出されます。 つまり、このメソッドは次と同じになります。notifyObservers(null)
- 
notifyObserverspublic void notifyObservers(Object arg)非推奨。このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。各Observerの updateメソッドは、2つの引数(このObservableオブジェクトとarg引数)で呼び出されます。- パラメータ:
- arg- 任意のオブジェクト。
- 関連項目:
- clearChanged(),- hasChanged(),- Observer.update(java.util.Observable, java.lang.Object)
 
- 
deleteObserverspublic void deleteObservers()非推奨。Observerリストをクリアします(このオブジェクトにObserverがなくなります)。
- 
setChangedprotected void setChanged()非推奨。このObservableオブジェクトを変更されたものとしてマークします。以降はhasChangedメソッドがtrueを返します。
- 
clearChangedprotected void clearChanged()非推奨。このオブジェクトがもう変更された状態でないこと、つまり、最新の変更がすべてのObserverにすでに通知されて、以降はhasChangedメソッドがfalseを返すことを示します。 このメソッドは、notifyObserversメソッドによって自動的に呼び出されます。
- 
hasChangedpublic boolean hasChanged()非推奨。このオブジェクトが変更されたかどうかを判定します。- 戻り値:
- このオブジェクトでclearChangedメソッドよりあとにsetChangedメソッドが呼び出された場合にだけtrue、そうでない場合はfalse。
- 関連項目:
- clearChanged(),- setChanged()
 
- 
countObserverspublic int countObservers()非推奨。このObservableオブジェクトのObserverの数を返します。- 戻り値:
- このオブジェクトのObserverの数
 
 
- 
Observerインタフェースは推奨されていません。ObserverとObservableでサポートされているイベント・モデルは非常に限定されており、Observableによって配信される通知の順序は不定であり、状態の変更は通知と1対1で対応していません。 豊富なイベント・モデルの場合は、java.beansパッケージの使用を検討してください。 スレッド間の信頼性の高い順序付きメッセージングのために、java.util.concurrentパッケージ内の同時データ構造の1つを使用することを検討してください。 リアクティブ・ストリーム・スタイルのプログラミングについては、FlowAPIを参照してください。