|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.EventObject javax.naming.event.NamingEvent
public class 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 Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。