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

クラスObservable


  • @Deprecated(since="9")
    public class Observable
    extends Object
    非推奨。
    このクラスと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()
      非推奨。
      ObserverがゼロでObservableを構築します。
    • メソッドのサマリー

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

      • Observable

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

      • 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)

        関連項目:
        clearChanged(), hasChanged(), Observer.update(java.util.Observable, java.lang.Object)
      • 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メソッドによって自動的に呼び出されます。
        関連項目:
        notifyObservers(), notifyObservers(java.lang.Object)
      • hasChanged

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

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