public class NamingEvent extends EventObject
的NamingEvent的状态分为
请注意,事件源一直是听者已注册相同的EventContext实例。此外,在NamingEvent绑定的名字总是相对的,例如。例如,假设一个侦听器使以下注册:
当对象命名为“X / Y”随后被删除,相应的 NamingEvent( evt)必须包含:NamespaceChangeListener listener = ...; src.addNamingListener("x", SUBTREE_SCOPE, listener);
必须小心,当多个线程访问同一 EventContext兼。看到 package description关于线程的问题的更多信息。evt.getEventContext() == src evt.getOldBinding().getName().equals("x/y")
NamingListener
,
EventContext
,
Serialized Form
Modifier and Type | Field and Description |
---|---|
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
包含此事件的类型。
|
source
Constructor and Description |
---|
NamingEvent(EventContext source, int type, Binding newBd, Binding oldBd, Object changeInfo)
构建
NamingEvent实例。
|
Modifier and Type | Method and Description |
---|---|
void |
dispatch(NamingListener listener)
在这个事件上调用适当的侦听器方法。
|
Object |
getChangeInfo()
检索此事件的更改信息。
|
EventContext |
getEventContext()
检索引发此事件的事件源。
|
Binding |
getNewBinding()
检索更改后的对象的绑定。
|
Binding |
getOldBinding()
在更改之前检索对象的绑定。
|
int |
getType()
返回此事件的类型。
|
getSource, toString
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
protected Binding oldBinding
protected Binding newBinding
public NamingEvent(EventContext source, int type, Binding newBd, Binding oldBd, Object changeInfo)
在newBd和oldBd的名字将解决相关事件源source。一个OBJECT_ADDED事件类型,newBd必须不为空。一个OBJECT_REMOVED事件类型,oldBd必须不为空。一个OBJECT_CHANGED事件类型,newBd和oldBd必须不为空。一个OBJECT_RENAMED事件类型,其中newBd或oldBd可以为null,如果新老结合以外的范围,听众已注册。
source
-非空的背景下,解雇这一事件。
type
-事件的类型。
newBd
-可能为空的结合改变前。查看方法描述。
oldBd
-可能为空的结合后的变化。查看方法描述。
changeInfo
-可能为空的对象包含有关变化的信息。
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)。看到package description关于线程的问题的更多信息。
EventObject.getSource()。public Binding getOldBinding()
绑定必须是非空的对象是否存在之前的变化相对于源的上下文(getEventContext())。就是说,它必须是非空的OBJECT_REMOVED和OBJECT_CHANGED。对于OBJECT_RENAMED,如果之前的命名是为听众注册兴趣范围之外的对象,它是空的;它是非空如果对象范围内前重命名。
在绑定的名称是解决相关事件源getEventContext()。通过Binding.getObject()返回的对象可能是null,如果这些信息是不可用。
public Binding getNewBinding()
绑定必须是非空的如果变化相对于源上下文后存在的对象(getEventContext())。就是说,它必须是非空的OBJECT_ADDED和OBJECT_CHANGED,OBJECT_RENAMED,如果重命名后是范围以外的听众注册感兴趣的对象,它是空的;它是非空如果对象范围内后重命名。
在绑定的名称是解决相关事件源getEventContext()。通过Binding.getObject()返回的对象可能是null,如果这些信息是不可用。
public Object getChangeInfo()
public void dispatch(NamingListener listener)
侦听器方法在同一个线程中执行此方法。看到package description关于线程的问题的更多信息。
listener
-非空的听众。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.