|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.util.EventObject
javax.naming.event.NamingEvent
public class NamingEvent
此類別表示命名/目錄服務觸發的事件。
NamingEvent 的狀態包括
注意,事件源始終是註冊了偵聽器的那個 EventContext 實例。此外,NamingEvent 中綁定的名稱始終相對於該實例。例如,假定偵聽器進行以下註冊:
NamespaceChangeListener listener = ...;
src.addNamingListener("x", SUBTREE_SCOPE, listener);
以後刪除名為 "x/y" 的物件時,相應的 NamingEvent (evt) 必須包含:
evt.getEventContext() == src
evt.getOldBinding().getName().equals("x/y")
當多個執行緒共時存取同一個 EventContext 時必須謹慎。有關執行緒問題的更多資訊,請參閱包描述。
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_CHANGEDprotected 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_CHANGEDpublic 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 Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。