|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.EventObject | +--javax.naming.event.NamingEvent
このクラスは、ネームサービス/ディレクトリサービスでトリガされたイベントを表します。
NamingEvent の状態構成は次のとおりです。
イベントソースは、リスナーが登録した、常に同じ EventContext インスタンスとなるので注意してください。さらに、NamingEvent にあるバインディング名は、そのインスタンスと常に関連しています。たとえば、リスナーが次の登録を行なったとします。
その後にオブジェクト名 "x/y" が削除されると、対応する NamingEvent (evt) には次を含める必要があります。NamespaceChangeListener listener = ...; src.addNamingListener("x", SUBTREE_SCOPE, listener);
複数のスレッドが同じ EventContext に同時にアクセスしている場合は注意が必要です。スレッド問題の詳細は、「パッケージの説明」を参照してください。evt.getEventContext() == src evt.getOldBinding().getName().equals("x/y")
NamingListener
,
EventContext
,
直列化された形式フィールドの概要 | |
protected Object |
changeInfo
このイベントを生成した変更情報を含みます。 |
protected Binding |
newBinding
変更後のオブジェクト情報を含みます。 |
static int |
OBJECT_ADDED
新しいオブジェクトが追加されたことを示すネーミングイベント型。 |
static int |
OBJECT_CHANGED
オブジェクトが変更されたことを示すネーミングイベント型。 |
static int |
OBJECT_REMOVED
オブジェクトが削除されたことを示すネーミングイベント型。 |
static int |
OBJECT_RENAMED
オブジェクトの名前が変更になったことを示すネーミングイベント型。 |
protected Binding |
oldBinding
変更前のオブジェクト情報を含みます。 |
protected int |
type
このイベントの型を含みます。 |
クラス java.util.EventObject から継承したフィールド |
source |
コンストラクタの概要 | |
NamingEvent(EventContext source,
int type,
Binding newBd,
Binding oldBd,
Object changeInfo)
NamingEvent のインスタンスを構築します。 |
メソッドの概要 | |
void |
dispatch(NamingListener listener)
このイベントで最適なリスナーメソッドを呼び出します。 |
Object |
getChangeInfo()
このイベントの変更情報を取得します。 |
EventContext |
getEventContext()
このイベントをトリガしたイベントソースを検出します。 |
Binding |
getNewBinding()
変更後のオブジェクトのバインディングを取得します。 |
Binding |
getOldBinding()
変更前のオブジェクトのバインディングを取得します。 |
int |
getType()
このイベントの型を返します。 |
クラス java.util.EventObject から継承したメソッド |
getSource, toString |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
public static final int OBJECT_ADDED
public static final int OBJECT_REMOVED
public static final int OBJECT_RENAMED
古い名前または新しい名前がリスナーの登録した範囲を超えている場合、NamingEvent にある旧/新バインディングは null となることがあります。
名前空間ツリーの内部ノードが名前変更した場合、リスナーの範囲内である最上位ノードを使用して、名前変更イベントが生成されます。サポート範囲はプロバイダ固有となります。たとえば、内部ノードを変更すると、名前変更通知がすべての下位ノードに対して生成されます。対応するプロバイダの設定にかかわらず、これらの通知はリスナーに強制的に伝達されます。
この定数の値は 2 です。
public static final int OBJECT_CHANGED
この定数の値は 3 です。
protected Object changeInfo
protected int type
OBJECT_ADDED
,
OBJECT_REMOVED
,
OBJECT_RENAMED
,
OBJECT_CHANGED
protected Binding oldBinding
protected Binding newBinding
コンストラクタの詳細 |
public NamingEvent(EventContext source, int type, Binding newBd, Binding oldBd, Object changeInfo)
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 の可能性のあるオブジェクトOBJECT_ADDED
,
OBJECT_REMOVED
,
OBJECT_RENAMED
,
OBJECT_CHANGED
メソッドの詳細 |
public int getType()
OBJECT_ADDED
,
OBJECT_REMOVED
,
OBJECT_RENAMED
,
OBJECT_CHANGED
public EventContext getEventContext()
このメソッドの結果を使用してイベントソースにアクセスした場合、たとえばオブジェクトを参照したり属性を取得する場合、Context の実装がスレッドセーフではない (また EventContext が Context のサブインターフェースである) ため、ロックが必要です。スレッド問題の詳細は、「パッケージの説明」を参照してください。
public Binding getOldBinding()
変更前に存在したオブジェクトが、転送元のコンテキスト (getEventContext()) に関連する場合、バインディングは null 以外である必要があります。つまり、OBJECT_REMOVED および OBJECT_CHANGED に対しては null 以外としてください。OBJECT_RENAMED については、名前変更前のオブジェクトが、対象を登録したリスナーの範囲外にある場合は null とし、オブジェクトが名前変更前の範囲内にある場合は null 以外としてください。
バインディングの名前は、イベントソース getEventContext() に関連するものとして解決されます。Binding.getObject() で返されたオブジェクトは、情報が使用できない場合は null となります。
public Binding getNewBinding()
変更後に存在したオブジェクトが、転送元のコンテキスト (getEventContext()) に関連する場合、バインディングは null 以外である必要があります。つまり、OBJECT_ADDED および OBJECT_CHANGED に対しては null 以外としてください。OBJECT_RENAMED については、名前変更前のオブジェクトが、配信対象をリスナーで登録した範囲外にある場合は null とし、オブジェクトが名前変更後では範囲内にある場合は null 以外としてください。
バインディングの名前は、イベントソース getEventContext() に関連するものとして解決されます。Binding.getObject() で返されたオブジェクトは、情報が使用できない場合は null となります。
public Object getChangeInfo()
public void dispatch(NamingListener listener)
リスナーメソッドは、このメソッドと同じスレッドで実行されます。スレッド問題の詳細は、「パッケージの説明」を参照してください。
listener
- null 以外のリスナー
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.