モジュール java.naming
パッケージ javax.naming.event

クラスNamingEvent

java.lang.Object
java.util.EventObject
javax.naming.event.NamingEvent
すべての実装されたインタフェース:
Serializable

public class NamingEvent extends EventObject
このクラスは、ネーム・サービス\/ディレクトリ・サービスでトリガーされたイベントを表します。

NamingEventの状態は

  • イベント・ソース: このイベントを起動したEventContext
  • イベントのタイプ。
  • 新しいバインディング: 変更後のオブジェクト情報。
  • 古いバインディング: 変更前のオブジェクト情報。
  • 変更情報: このイベントをトリガーした変更についての情報。通常はサービス・プロバイダ特有の情報、またはサーバー特有の情報。

イベント・ソースは常に、リスナーが登録したEventContext instanceと同じであることに注意してください。 さらに、NamingEvent内のバインディングの名前は、常にそのインスタンスと相対的です。 たとえば、リスナーが次の登録を行なったとします。

     NamespaceChangeListener listener = ...;
     src.addNamingListener("x", SUBTREE_SCOPE, listener);
"x/y"という名前のオブジェクトがその後削除されると、対応するNamingEvent (evt)に次のものが含まれている必要があります:
     evt.getEventContext() == src
     evt.getOldBinding().getName().equals("x/y")
複数のスレッドが同じEventContextに同時にアクセスする場合は注意が必要です。 スレッドの問題の詳細は、「パッケージの説明」を参照してください。

導入されたバージョン:
1.3
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected Object
    このイベントを生成した変更情報を含みます。
    protected Binding
    変更後のオブジェクト情報を含みます。
    static final int
    新しいオブジェクトが追加されたことを示すネーミング・イベント・タイプ。
    static final int
    オブジェクトが変更されたことを示すネーミング・イベント・タイプ。
    static final int
    オブジェクトが削除されたことを示すネーミング・イベント・タイプ。
    static final int
    オブジェクトの名前が変更になったことを示すネーミング・イベント・タイプ。
    protected Binding
    変更前のオブジェクト情報を含みます。
    protected int
    このイベントのタイプを含みます。

    クラスjava.util.EventObjectで宣言されたフィールド

    source
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    NamingEvent(EventContext source, int type, Binding newBd, Binding oldBd, Object changeInfo)
    NamingEventのインスタンスを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    このイベントで最適なリスナー・メソッドを呼び出します。
    このイベントの変更情報を取得します。
    このイベントをトリガーしたイベント・ソースを検出します。
    変更後のオブジェクトのバインディングを取得します。
    変更前のオブジェクトのバインディングを取得します。
    int
    このイベントのタイプを返します。

    クラスjava.util.EventObjectで宣言されたメソッド

    getSource, toString

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • OBJECT_ADDED

      public static final int OBJECT_ADDED
      新しいオブジェクトが追加されたことを示すネーミング・イベント・タイプ。 この定数の値は0です。
      関連項目:
    • OBJECT_REMOVED

      public static final int OBJECT_REMOVED
      オブジェクトが削除されたことを示すネーミング・イベント・タイプ。 この定数の値は1です。
      関連項目:
    • OBJECT_RENAMED

      public static final int OBJECT_RENAMED
      オブジェクトの名前が変更になったことを示すネーミング・イベント・タイプ。 一部のサービスでは、論理的な名前変更操作1つに対して、複数イベントをトリガーすることがあるので注意してください。 たとえば、新しい名前のバインディングを追加し、古いバインディングを削除することによって、名前変更操作が実装される場合があります。

      リスナーが登録されているスコープの古い名前または新しい名前が外にある場合、NamingEventの古い/新しいバインディングはnullである可能性があります。

      名前空間ツリーの内部ノードが名前変更された場合は、リスナーの範囲内である最上位ノードを使用して、名前変更イベントを生成する必要があります。 サポート範囲はプロバイダ固有となります。 たとえば、内部ノードを変更すると、名前変更通知がすべての下位ノードに対して生成されます。対応するプロバイダの設定にかかわらず、これらの通知はリスナーに強制的に伝達されます。

      この定数の値は2です。

      関連項目:
    • OBJECT_CHANGED

      public static final int OBJECT_CHANGED
      オブジェクトが変更されたことを示すネーミング・イベント・タイプ。 これには、オブジェクトの属性やオブジェクトそのものの変更もあります。 一部のサービスでは1つの修正に対して複数のイベントをトリガーすることがありますので注意してください。 たとえば、古いバインディングを削除してから、名前が同じでオブジェクトの異なる新しいバインディングを追加すると、修正が実装される場合があります。

      この定数の値は3です。

      関連項目:
    • changeInfo

      protected Object changeInfo
      このイベントを生成した変更情報を含みます。
    • type

      protected int type
      このイベントのタイプを含みます。
      関連項目:
    • oldBinding

      protected Binding oldBinding
      変更前のオブジェクト情報を含みます。
    • newBinding

      protected Binding newBinding
      変更後のオブジェクト情報を含みます。
  • コンストラクタの詳細

    • NamingEvent

      public NamingEvent(EventContext source, int type, Binding newBd, Binding oldBd, Object changeInfo)
      NamingEventのインスタンスを構築します。

      newBdおよびoldBdの名前は、イベント・ソースsourceに対して相対的に解決されます。 OBJECT_ADDEDイベント・タイプの場合、newBdはnullにできません。 OBJECT_REMOVEDイベント・タイプの場合、oldBdはnullにできません。 OBJECT_CHANGEDイベント・タイプの場合、newBdおよびoldBdはnullにできません。 OBJECT_RENAMEDイベント・タイプの場合、新規または古いバインディングがリスナーが登録されているスコープ外にある場合、newBdまたはoldBdのいずれかがnullになることがあります。

      パラメータ:
      source - このイベントをトリガーしたnull以外のコンテキスト。
      type - イベントのタイプ。
      newBd - 変更前にnullの可能性があるバインディング。 メソッドの説明を参照。
      oldBd - 変更後にnullの可能性があるバインディング。 メソッドの説明を参照。
      changeInfo - 変更情報を含む、nullの可能性のあるオブジェクト。
      関連項目:
  • メソッドの詳細

    • getType

      public int getType()
      このイベントのタイプを返します。
      戻り値:
      このイベントのタイプ。
      関連項目:
    • getEventContext

      public EventContext getEventContext()
      このイベントをトリガーしたイベント・ソースを検出します。 これにより、EventObject.getSource()と同じオブジェクトが返されます。

      このメソッドの結果を使用してイベント・ソースにアクセスする場合(たとえば、オブジェクトを参照したり、その属性を取得する場合)、Contextの実装がスレッド・セーフな(EventContextContextのサブインタフェースです)であることが保証されないため、ロックする必要があります。 スレッドの問題の詳細は、「パッケージの説明」を参照してください。

      戻り値:
      このイベントをトリガーしたnull以外のコンテキスト。
    • getOldBinding

      public Binding getOldBinding()
      変更前のオブジェクトのバインディングを取得します。

      ソース・コンテキスト(getEventContext())に関連する変更の前にオブジェクトが存在する場合は、バインディングをnull以外にする必要があります。 つまり、OBJECT_REMOVEDおよびOBJECT_CHANGEDではnull以外である必要があります。 OBJECT_RENAMEDの場合、名前変更前のオブジェクトがリスナーが関心を登録したスコープ外にある場合はnullになり、オブジェクトが名前変更前のスコープ内にある場合はnullになりません。

      バインディング内の名前は、イベント・ソースgetEventContext()を基準にして解決されます。 このような情報が使用できない場合、Binding.getObject()によって返されるオブジェクトはnullである可能性があります。

      戻り値:
      変更前のオブジェクトでnullの可能性のあるバインディング。
    • getNewBinding

      public Binding getNewBinding()
      変更後のオブジェクトのバインディングを取得します。

      ソース・コンテキスト(getEventContext())に対する変更後にオブジェクトが存在する場合、バインディングはnull以外である必要があります。 つまり、OBJECT_ADDEDおよびOBJECT_CHANGEDではnull以外である必要があります。 OBJECT_RENAMEDの場合、名前変更後のオブジェクトがリスナーが関心を登録したスコープ外にある場合はnullになり、オブジェクトが名前変更後のスコープ内にある場合はnullになりません。

      バインディング内の名前は、イベント・ソースgetEventContext()を基準にして解決されます。 このような情報が使用できない場合、Binding.getObject()によって返されるオブジェクトはnullである可能性があります。

      戻り値:
      変更後のオブジェクトでnullの可能性のあるバインディング。
    • getChangeInfo

      public Object getChangeInfo()
      このイベントの変更情報を取得します。 変更情報の値はサービス特有となります。 たとえば、値はサーバーの変更ログにある、変更を識別するIDとなります。
      戻り値:
      このイベントの、nullの可能性がある変更情報。
    • dispatch

      public void dispatch(NamingListener listener)
      このイベントで最適なリスナー・メソッドを呼び出します。 このメソッドのデフォルト実装は、次のイベント・タイプを処理: OBJECT_ADDED, OBJECT_REMOVED, OBJECT_RENAMED, OBJECT_CHANGED

      リスナー・メソッドは、このメソッドと同じスレッドで実行されます。 スレッドの問題の詳細は、「パッケージの説明」を参照してください。

      パラメータ:
      listener - null以外のリスナー。