©
本文档使用
php.cn手册 发布
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.beans.beancontext.BeanContextChildSupport java.beans.beancontext.BeanContextSupport
public class BeanContextSupport
此帮助器类提供 java.beans.beancontext.BeanContext 接口的实用工具实现。
因为此类直接实现 BeanContext 接口,所以可以通过创建此实现的子类来使用该类,或者由另一个实例对此类实例的特别委托来使用该类。
嵌套类摘要 | |
---|---|
protected class |
BeanContextSupport.BCSChild
|
protected static class |
BeanContextSupport.BCSIterator
受保护的最终子类,它封装一个迭代器但实现无操作 remove() 方法。 |
字段摘要 | |
---|---|
protected ArrayList |
bcmListeners
protected ArrayList bcmListeners 字段的所有访问在该对象上都将是同步的。 |
protected HashMap |
children
protected HashMap children 字段的所有访问在该对象上都将是同步的。 |
protected boolean |
designTime
指示此对象目前是否处于设计时间模式下的 boolean 值。 |
protected Locale |
locale
此 BeanContext 的当前语言环境。 |
protected boolean |
okToUseGui
指示此实例现在能否呈现 GUI 的 boolean 值。 |
从类 java.beans.beancontext.BeanContextChildSupport 继承的字段 |
---|
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport |
从接口 java.beans.beancontext.BeanContext 继承的字段 |
---|
globalHierarchyLock |
从接口 java.beans.DesignMode 继承的字段 |
---|
PROPERTYNAME |
构造方法摘要 | |
---|---|
BeanContextSupport()
创建不是另一个对象代理的实例。 |
|
BeanContextSupport(BeanContext peer)
使用默认语言环境创建一个实例 |
|
BeanContextSupport(BeanContext peer,
Locale lcle)
使用指定语言环境创建一个实例。 |
|
BeanContextSupport(BeanContext peer,
Locale lcle,
boolean dtime)
使用指定 Locale 和设计模式创建一个实例。 |
|
BeanContextSupport(BeanContext peer,
Locale lcle,
boolean dTime,
boolean visible)
构造一个 BeanContextSupport 实例。 |
方法摘要 | |
---|---|
boolean |
add(Object targetChild)
在此 BeanContext 中添加/嵌套一个子级。 |
boolean |
addAll(Collection c)
将 Collection 添加到 Children(不受支持的)实现的集合,这些实现在层次结构锁定和 "children" 受保护字段上必须是同步的 |
void |
addBeanContextMembershipListener(BeanContextMembershipListener bcml)
添加一个 BeanContextMembershipListener。 |
boolean |
avoidingGui()
用于确定 BeanContext 子级是否避免使用其 GUI。 |
protected Iterator |
bcsChildren()
返回此 BeanContext 所有子级的迭代器。 |
protected void |
bcsPreDeserializationHook(ObjectInputStream ois)
在调用 defaultReadObject() 之后,但在反序列化任意子级之前,由 readObject 调用。 |
protected void |
bcsPreSerializationHook(ObjectOutputStream oos)
在调用 defaultWriteObject() 之后,但在序列化当前可序列化子级之前,由 writeObject 调用。 |
protected void |
childDeserializedHook(Object child,
BeanContextSupport.BCSChild bcsc)
由 readObject 利用新近反序列化的子级和 BCSChild 调用。 |
protected void |
childJustAddedHook(Object child,
BeanContextSupport.BCSChild bcsc)
子类可以重写此方法,以便在已经添加子对象之后,且在发生事件通知之前,只扩展 add() 语义。 |
protected void |
childJustRemovedHook(Object child,
BeanContextSupport.BCSChild bcsc)
子类可以重写此方法,以便在已经移除子对象之后,且在发生事件通知之前,只扩展 remove() 语义。 |
protected static boolean |
classEquals(Class first,
Class second)
测试以查看两个类对象或其名称是否相等。 |
void |
clear()
清除子对象(不受支持的)实现,这些实现在分层结构锁定和 "children" 受保护字段上必须是同步的 |
boolean |
contains(Object o)
确定指定对象当前是否是此 BeanContext 的子级。 |
boolean |
containsAll(Collection c)
测试以查看指定 Collection 中的所有对象是否是此 BeanContext 的子对象。 |
boolean |
containsKey(Object o)
确定指定对象当前是否是此 BeanContext 的子级。 |
protected Object[] |
copyChildren()
获得此 BeanContext 子级的副本。 |
protected BeanContextSupport.BCSChild |
createBCSChild(Object targetChild,
Object peer)
子类可以重写此方法来插入自己的 Child 的子类,而不必重写 add() 或其他将子级添加到集合中的 Collection 方法。 |
protected void |
deserialize(ObjectInputStream ois,
Collection coll)
readObject 使用此方法来反序列化一个 collection。 |
void |
dontUseGui()
通知此实例它可以不再呈现一个 GUI。 |
protected void |
fireChildrenAdded(BeanContextMembershipEvent bcme)
在 BeanContextMembershipListener 接口上触发一个 BeanContextshipEvent。 |
protected void |
fireChildrenRemoved(BeanContextMembershipEvent bcme)
在 BeanContextMembershipListener 接口上触发一个 BeanContextshipEvent。 |
BeanContext |
getBeanContextPeer()
获得 BeanContext 的实例,此对象将为其提供实现。 |
protected static BeanContextChild |
getChildBeanContextChild(Object child)
与指定 Child 相关联的 BeanContextChild(如果有)。 |
protected static BeanContextMembershipListener |
getChildBeanContextMembershipListener(Object child)
与指定 Child 相关联的 BeanContextMembershipListener(如果有)。 |
protected static PropertyChangeListener |
getChildPropertyChangeListener(Object child)
与指定 Child 相关联的 PropertyChangeListener(如果有) |
protected static Serializable |
getChildSerializable(Object child)
获得与指定 Child 相关联的 Serializable(如果有) |
protected static VetoableChangeListener |
getChildVetoableChangeListener(Object child)
与指定 Child 相关联的 VetoableChangeListener(如果有)。 |
protected static Visibility |
getChildVisibility(Object child)
获得与指定子级相关联的 Component(如果有)。 |
Locale |
getLocale()
获得此 BeanContext 的语言环境。 |
URL |
getResource(String name,
BeanContextChild bcc)
与 java.lang.ClassLoader.getResource() 类似,此方法允许 BeanContext 实现协调子 Component 和基础 ClassLoader 之间的行为。 |
InputStream |
getResourceAsStream(String name,
BeanContextChild bcc)
与 java.lang.ClassLoader.getResourceAsStream() 类似,此方法允许 BeanContext 实现协调子 Component 和基础 ClassLoader 之间的行为。 |
protected void |
initialize()
从构造方法和 readObject 调用的受保护方法,以初始化 BeanContextSupport 实例的瞬态。 |
Object |
instantiateChild(String beanName)
instantiateChild 方法是 BeanContext 中的便捷钩子 (hook),用来简化将嵌套的 Bean 实例化为 BeanContext 这项任务。 |
boolean |
isDesignTime()
报告此对象当前是否处于设计时间模式下。 |
boolean |
isEmpty()
报告此 BeanContext 是否为空。 |
boolean |
isSerializing()
此 BeanContext 正处于序列化过程中吗? |
Iterator |
iterator()
获得当前嵌套在此 BeanContext 中的所有 JavaBean 或 BeanContext 实例。 |
boolean |
needsGui()
此方法通常从环境中调用,以便确定实现者是否“需要” GUI。 |
void |
okToUseGui()
通知此实例它现在可以呈现一个 GUI。 |
void |
propertyChange(PropertyChangeEvent pce)
子类可以封装此方法来监视子类属性的更改。 |
void |
readChildren(ObjectInputStream ois)
在将此类的实例用作 BeanContext 协议(及其子协议)实现的代理时,在反序列化期间存在一个“先有鸡还是先有蛋”的问题。 |
boolean |
remove(Object targetChild)
从此 BeanContext 中移除一个子对象。 |
protected boolean |
remove(Object targetChild,
boolean callChildSetBC)
当由意外的 setBeanContext 或 remove() 调用导致移除时使用的内部移除方法。 |
boolean |
removeAll(Collection c)
移除所有指定 Children(不受支持的)实现,这些实现在层次结构锁定和 "children" 受保护字段上必须是同步的 |
void |
removeBeanContextMembershipListener(BeanContextMembershipListener bcml)
移除一个 BeanContextMembershipListener。 |
boolean |
retainAll(Collection c)
仅保留指定子对象(不受支持的)实现,这些实现在层次结构锁定和 "children" 受保护字段上必须是同步的 |
protected void |
serialize(ObjectOutputStream oos,
Collection coll)
writeObject 使用此方法来序列化一个 Collection。 |
void |
setDesignTime(boolean dTime)
为此 BeanContext 设置新的设计时间值。 |
void |
setLocale(Locale newLocale)
设置此 BeanContext 的语言环境。 |
int |
size()
获得当前嵌套在此 BeanContext 中的子级数。 |
Object[] |
toArray()
获得当前嵌套在此 BeanContext 中的所有 JavaBean 或 BeanContext 实例。 |
Object[] |
toArray(Object[] arry)
获得包含与数组中所包含类型匹配的此 BeanContext 的所有子级的数组。 |
protected boolean |
validatePendingAdd(Object targetChild)
此类的子类可以重写或封装此方法,以便为 BeanContext 添加有效行为,从而能在将子对象添加到 BeanContext 之前立即检查它们。 |
protected boolean |
validatePendingRemove(Object targetChild)
此类的子类可以重写或封装此方法,以便为 BeanContext 添加有效行为,从而能在将子对象从 BeanContext 中移除之前立即检查它们。 |
void |
vetoableChange(PropertyChangeEvent pce)
子类可以封装此方法来监视子类属性的更改。 |
void |
writeChildren(ObjectOutputStream oos)
用于序列化此 BeanContext 的所有子级。 |
从类 java.beans.beancontext.BeanContextChildSupport 继承的方法 |
---|
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, initializeBeanContextResources, isDelegated, releaseBeanContextResources, removePropertyChangeListener, removeVetoableChangeListener, serviceAvailable, serviceRevoked, setBeanContext, validatePendingSetBeanContext |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 java.beans.beancontext.BeanContextChild 继承的方法 |
---|
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext |
从接口 java.util.Collection 继承的方法 |
---|
equals, hashCode |
字段详细信息 |
---|
protected transient HashMap children
protected HashMap children
字段的所有访问在该对象上都将是同步的。
protected transient ArrayList bcmListeners
protected ArrayList bcmListeners
字段的所有访问在该对象上都将是同步的。
protected Locale locale
protected boolean okToUseGui
protected boolean designTime
构造方法详细信息 |
---|
public BeanContextSupport(BeanContext peer, Locale lcle, boolean dTime, boolean visible)
peer
- 将为其提供实现的同位体 BeanContext,如果此对象是它自己的同位体,则该参数为 nulllcle
- 此 BeanContext 的当前 Locale。如果 lcle 为 null,则默认语言环境被分配给 BeanContext 实例。dTime
- 初始状态,如果在设计模式下,则该参数为 true,如果在运行状态下,则该参数为 false。visible
- 初始可见性。Locale.getDefault()
,
Locale.setDefault(java.util.Locale)
public BeanContextSupport(BeanContext peer, Locale lcle, boolean dtime)
peer
- 将为其提供实现的同位体 BeanContext,如果此对象是它自己的同位体,则该参数为 nulllcle
- 此 BeanContext 的当前 Locale。如果 lcle 为 null,则默认语言环境被分配给 BeanContext 实例。dtime
- 初始状态,如果在设计模式下,则该参数为 true,如果在运行状态下,则该参数为 false。Locale.getDefault()
,
Locale.setDefault(java.util.Locale)
public BeanContextSupport(BeanContext peer, Locale lcle)
peer
- 将为其提供实现的同位体 BeanContext,如果此对象是它自己的同位体,则该参数为 nulllcle
- 此 BeanContext 的当前 Locale。如果 lcle 为 null,则默认语言环境被分配给 BeanContext 实例。Locale.getDefault()
,
Locale.setDefault(java.util.Locale)
public BeanContextSupport(BeanContext peer)
peer
- 将为其提供实现的同位体 BeanContext,如果此对象是它自己的同位体,则该参数为 null
public BeanContextSupport()
方法详细信息 |
---|
public BeanContext getBeanContextPeer()
public Object instantiateChild(String beanName) throws IOException, ClassNotFoundException
instantiateChild 方法是 BeanContext 中的便捷钩子 (hook),用来简化将嵌套的 Bean 实例化为 BeanContext 这项任务。
beanName 参数的语义由 java.beans.Beans.instantate 定义。
BeanContext
中的 instantiateChild
beanName
- 要在此 BeanContext 中实例化的 Bean 的名称
IOException
- 如果在该 bean 正被反序列化时发生 I/O 错误
ClassNotFoundException
- 如果没有找到由 beanName 参数标识的类public int size()
Collection
中的 size
public boolean isEmpty()
Collection
中的 isEmpty
public boolean contains(Object o)
Collection
中的 contains
o
- 相关 Object
public boolean containsKey(Object o)
o
- 相关 Object
public Iterator iterator()
Iterable
中的 iterator
Collection
中的 iterator
public Object[] toArray()
Collection
中的 toArray
public Object[] toArray(Object[] arry)
Collection
中的 toArray
arry
- 感兴趣的对象类型数组。
protected BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer)
子类可以重写此方法来插入自己的 Child 的子类,而不必重写 add() 或其他将子级添加到集合中的 Collection 方法。
targetChild
- 要创建自己的 Child 的子级peer
- 同位体,如果 tragetChild 和同位体通过实现 BeanContextProxy 建立联系public boolean add(Object targetChild)
作为 java.beans.Beans.instantiate() 的副作用调用。如果子对象对于添加无效,则此方法抛出 IllegalStateException。
Collection
中的 add
targetChild
- 嵌套在此 BeanContext 中的子对象
validatePendingAdd(java.lang.Object)
public boolean remove(Object targetChild)
Collection
中的 remove
targetChild
- 要移除的子对象
validatePendingRemove(java.lang.Object)
protected boolean remove(Object targetChild, boolean callChildSetBC)
targetChild
- 要移除的 JavaBean、BeanContext 或 ObjectcallChildSetBC
- 用于指示应该通知子对象它不再嵌套在此 BeanContext 中。public boolean containsAll(Collection c)
Collection
中的 containsAll
c
- 指定的 Collection
Collection.contains(Object)
public boolean addAll(Collection c)
Collection
中的 addAll
c
- 包含要添加到此 collection 的元素的 collection
UnsupportedOperationException
Collection.add(Object)
public boolean removeAll(Collection c)
Collection
中的 removeAll
c
- 办好要从此 collection 移除的元素的 collection
UnsupportedOperationException
Collection.remove(Object)
,
Collection.contains(Object)
public boolean retainAll(Collection c)
Collection
中的 retainAll
c
- 包含保留在此 collection 中的元素的 collection
UnsupportedOperationException
Collection.remove(Object)
,
Collection.contains(Object)
public void clear()
Collection
中的 clear
UnsupportedOperationException
public void addBeanContextMembershipListener(BeanContextMembershipListener bcml)
BeanContext
中的 addBeanContextMembershipListener
bcml
- 要添加的 BeanContextMembershipListener
NullPointerException
public void removeBeanContextMembershipListener(BeanContextMembershipListener bcml)
BeanContext
中的 removeBeanContextMembershipListener
bcml
- 要移除的 BeanContextMembershipListener
NullPointerException
public InputStream getResourceAsStream(String name, BeanContextChild bcc)
BeanContext
复制的描述java.lang.ClassLoader.getResourceAsStream()
类似,此方法允许 BeanContext
实现协调子 Component
和基础 ClassLoader
之间的行为。
BeanContext
中的 getResourceAsStream
name
- 所需资源的名称。bcc
- 做出请求的子对象。
NullPointerException
public URL getResource(String name, BeanContextChild bcc)
BeanContext
复制的描述java.lang.ClassLoader.getResource()
类似,此方法允许 BeanContext
实现协调子 Component
和基础 ClassLoader
之间的行为。
BeanContext
中的 getResource
name
- 所需资源的名称。bcc
- 做出请求的子对象。
public void setDesignTime(boolean dTime)
DesignMode
中的 setDesignTime
新的
- designTime 值BeanContext
,
BeanContextMembershipListener
,
PropertyChangeEvent
public boolean isDesignTime()
DesignMode
中的 isDesignTime
public void setLocale(Locale newLocale) throws PropertyVetoException
newLocale
- 新的语言环境。如果 newLocale 为 null
,则此方法调用将无效。
PropertyVetoException
- 如果拒绝新值。public Locale getLocale()
public boolean needsGui()
此方法通常从环境中调用,以便确定实现者是否“需要” GUI。
这里使用的算法测试 BeanContextPeer 及其当前子级,以确定它们是 Container 还是 Component,或者确定它们是否实现 Visibility 并返回 needsGui() == true。
Visibility
中的 needsGui
public void dontUseGui()
Visibility
中的 dontUseGui
public void okToUseGui()
Visibility
中的 okToUseGui
public boolean avoidingGui()
Visibility
中的 avoidingGui
Visibility
public boolean isSerializing()
protected Iterator bcsChildren()
protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
IOException
protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
protected void childDeserializedHook(Object child, BeanContextSupport.BCSChild bcsc)
child
- 新近反序列化的子级bcsc
- 新近反序列化的 BCSChildprotected final void serialize(ObjectOutputStream oos, Collection coll) throws IOException
oos
- 序列化期间将使用的 ObjectOutputStreamcoll
- 要序列化的 Collection
IOException
- 如果序列化失败protected final void deserialize(ObjectInputStream ois, Collection coll) throws IOException, ClassNotFoundException
ois
- 要使用的 ObjectInputStreamcoll
- Collection
IOException
ClassNotFoundException
public final void writeChildren(ObjectOutputStream oos) throws IOException
oos
- 序列化期间将使用的 ObjectOutputStream
IOException
- 如果序列化失败public final void readChildren(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
public void vetoableChange(PropertyChangeEvent pce) throws PropertyVetoException
VetoableChangeListener
中的 vetoableChange
pce
- 描述事件源和已更改属性的 PropertyChangeEvent
对象。
PropertyVetoException
- 如果接收方希望回滚属性更改。public void propertyChange(PropertyChangeEvent pce)
PropertyChangeListener
中的 propertyChange
pce
- 描述事件源和已更改属性的 PropertyChangeEvent 对象。protected boolean validatePendingAdd(Object targetChild)
此类的子类可以重写或封装此方法,以便为 BeanContext 添加有效行为,从而能在将子对象添加到 BeanContext 之前立即检查它们。
protected boolean validatePendingRemove(Object targetChild)
此类的子类可以重写或封装此方法,以便为 BeanContext 添加有效行为,从而能在将子对象从 BeanContext 中移除之前立即检查它们。
protected void childJustAddedHook(Object child, BeanContextSupport.BCSChild bcsc)
protected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
protected static final Visibility getChildVisibility(Object child)
child
- 指定子级
protected static final Serializable getChildSerializable(Object child)
child
- 指定子级
protected static final PropertyChangeListener getChildPropertyChangeListener(Object child)
child
- 指定子级
protected static final VetoableChangeListener getChildVetoableChangeListener(Object child)
child
- 指定子级
protected static final BeanContextMembershipListener getChildBeanContextMembershipListener(Object child)
child
- 指定子级
protected static final BeanContextChild getChildBeanContextChild(Object child)
child
- 指定子级
IllegalArgumentException
- 如果子级既实现 BeanContextChild 又实现 BeanContextProxyprotected final void fireChildrenAdded(BeanContextMembershipEvent bcme)
protected final void fireChildrenRemoved(BeanContextMembershipEvent bcme)
protected void initialize()
protected final Object[] copyChildren()
protected static final boolean classEquals(Class first, Class second)
first
- 第一个对象second
- 第二个对象
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。