クラス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以外のリスナー。