モジュール java.base
パッケージ java.util

クラスObservable

java.lang.Object
java.util.Observable

@Deprecated(since="9")
public class Observable
extends Object
Deprecated.
このクラスとObserverインタフェースは推奨されていません。 ObserverObservableでサポートされているイベント・モデルは非常に限定されており、Observableによって配信される通知の順序は不定であり、状態の変更は通知と1対1で対応していません。 豊富なイベント・モデルの場合は、java.beansパッケージの使用を検討してください。 スレッド間の信頼性の高い順序付きメッセージングのために、java.util.concurrentパッケージ内の同時データ構造の1つを使用することを検討してください。 リアクティブ・ストリーム・スタイルのプログラミングについては、Flow APIを参照してください。
このクラスは、Observableオブジェクト、つまりモデル/ビュー・パラダイムの「データ」を表します。 アプリケーションが被監視にするオブジェクトを表すために、このクラスをサブクラス化できます。

Observableオブジェクトは、1つまたは複数のObserverを持つことができます。 Observerには、Observerインタフェースを実装するオブジェクトが成ることができます。 Observableインスタンスは変わると、そのObservablenotifyObserversメソッドを呼び出すアプリケーションは、そのすべてのObserverに対してそれらのupdateメソッドを呼び出すことで変更を通知します。

通知が配信される順序は未指定です。 Observableクラスで提供されるデフォルト実装がObserverに通知する順序は、Observerが登録した重要度に基づきますが、サブクラスは必要に応じてこの順序を変更したり、未保証の順序を使用したり、スレッドごとに通知を配信したり、サブクラスがこの順序に従うことを保証したりできます。

この通知メカニズムはスレッドとは無関係であり、Objectクラスのwaitおよびnotifyメカニズムからは完全に独立しています。

Observableオブジェクトが新しく作成されたときに、Observerのセットは空です。 2つのObserverは、equalsメソッドがそれらについてtrueを返す場合にだけ、同じと見なされます。

導入されたバージョン:
1.0
関連項目:
notifyObservers(), notifyObservers(java.lang.Object), Observer, Observer.update(java.util.Observable, java.lang.Object)
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    Observable()
    Deprecated.
    ObserverがゼロでObservableを構築します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    void addObserver​(Observer o)
    Deprecated.
    このオブジェクトのObserverのセットにObserverを追加します(セット内にすでにあるいくつかのObserverと同じでない場合)。
    protected void clearChanged()
    Deprecated.
    このオブジェクトがもう変更された状態でないこと、つまり、最新の変更がすべてのObserverにすでに通知されて、以降はhasChangedメソッドがfalseを返すことを示します。
    int countObservers()
    Deprecated.
    このObservableオブジェクトのObserverの数を返します。
    void deleteObserver​(Observer o)
    Deprecated.
    このオブジェクトのObserverのセットから1つのObserverを削除します。
    void deleteObservers()
    Deprecated.
    Observerリストをクリアします(このオブジェクトにObserverがなくなります)。
    boolean hasChanged()
    Deprecated.
    このオブジェクトが変更されたかどうかを判定します。
    void notifyObservers()
    Deprecated.
    このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。
    void notifyObservers​(Object arg)
    Deprecated.
    このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。
    protected void setChanged()
    Deprecated.
    このObservableオブジェクトを変更されたものとしてマークします。以降はhasChangedメソッドがtrueを返します。

    クラス java.lang.Objectで宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • コンストラクタの詳細

    • Observable

      public Observable()
      Deprecated.
      ObserverがゼロでObservableを構築します。
  • メソッドの詳細

    • addObserver

      public void addObserver​(Observer o)
      Deprecated.
      このオブジェクトのObserverのセットにObserverを追加します(セット内にすでにあるいくつかのObserverと同じでない場合)。 複数のObserverに通知が配信される順序は未指定です。 クラスのコメントを参照してください。
      パラメータ:
      o - 追加するObserver。
      例外:
      NullPointerException - パラメータoがnullの場合。
    • deleteObserver

      public void deleteObserver​(Observer o)
      Deprecated.
      このオブジェクトのObserverのセットから1つのObserverを削除します。 このメソッドにnullを渡しても、何の効果もありません。
      パラメータ:
      o - 削除するObserver。
    • notifyObservers

      public void notifyObservers()
      Deprecated.
      このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。

      各Observerのupdateメソッドは、2つの引数(このObservableオブジェクトとnull)で呼び出されます。 つまり、このメソッドは次と同じになります。

      notifyObservers(null)

      関連項目:
      clearChanged(), hasChanged(), Observer.update(java.util.Observable, java.lang.Object)
    • notifyObservers

      public void notifyObservers​(Object arg)
      Deprecated.
      このオブジェクトが変更された場合(hasChangedメソッドで示される)、そのすべてのObserverに通知してから、clearChangedメソッドを呼び出してこのオブジェクトがもう変更された状態でないことを示します。

      各Observerのupdateメソッドは、2つの引数(このObservableオブジェクトとarg引数)で呼び出されます。

      パラメータ:
      arg - 任意のオブジェクト。
      関連項目:
      clearChanged(), hasChanged(), Observer.update(java.util.Observable, java.lang.Object)
    • deleteObservers

      public void deleteObservers()
      Deprecated.
      Observerリストをクリアします(このオブジェクトにObserverがなくなります)。
    • setChanged

      protected void setChanged()
      Deprecated.
      このObservableオブジェクトを変更されたものとしてマークします。以降はhasChangedメソッドがtrueを返します。
    • clearChanged

      protected void clearChanged()
      Deprecated.
      このオブジェクトがもう変更された状態でないこと、つまり、最新の変更がすべてのObserverにすでに通知されて、以降はhasChangedメソッドがfalseを返すことを示します。 このメソッドは、notifyObserversメソッドによって自動的に呼び出されます。
      関連項目:
      notifyObservers(), notifyObservers(java.lang.Object)
    • hasChanged

      public boolean hasChanged()
      Deprecated.
      このオブジェクトが変更されたかどうかを判定します。
      戻り値:
      このオブジェクトでclearChangedメソッドよりあとにsetChangedメソッドが呼び出された場合にだけtrue、そうでない場合はfalse
      関連項目:
      clearChanged(), setChanged()
    • countObservers

      public int countObservers()
      Deprecated.
      このObservableオブジェクトのObserverの数を返します。
      戻り値:
      このオブジェクトのObserverの数