|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.beans
类 Encoder
java.lang.Object java.beans.Encoder
- 直接已知子类:
- XMLEncoder
-
public class Encoder
- extends Object
Encoder
类用于创建根据其公共 API 对 JavaBeans 集合的状态进行编码的文件或流。Encoder
结合其持久委托,负责将对象图形拆分成一系列可用于创建它的 Statements
和 Expression
。子类通常使用某种可读形式(比如 Java 源代码或 XML)提供这些表达式的语法。
- 从以下版本开始:
- 1.4
构造方法摘要 | |
---|---|
Encoder() |
方法摘要 | |
---|---|
Object |
get(Object oldInstance) 在由此流创建的环境中返回 oldInstance 的一个实验值。 |
ExceptionListener |
getExceptionListener() 获得此流的异常处理程序。 |
PersistenceDelegate |
getPersistenceDelegate(Class<?> type) 返回给定类型的持久委托。 |
Object |
remove(Object oldInstance) 移除此实例的条目,返回旧的条目。 |
void |
setExceptionListener(ExceptionListener exceptionListener) 将此流的异常处理程序设置为 exceptionListener 。 |
void |
setPersistenceDelegate(Class<?> type, PersistenceDelegate persistenceDelegate) 将与此 type 相关联的持久委托设置为 persistenceDelegate 。 |
void |
writeExpression(Expression oldExp) 该实现首先查看使用此值的表达式是否已经被写入。 |
protected void |
writeObject(Object o) 将指定对象写入输出流中。 |
void |
writeStatement(Statement oldStm) 将语句 oldStm 写入流中。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
Encoder
public Encoder()
方法详细信息 |
---|
writeObject
protected void writeObject(Object o)
- 将指定对象写入输出流中。序列化的形式将表示一系列的表达式,在读取输入流时,这种形式的组合效果将创建等效的对象。默认情况下,假定对象是具有 null 构造方法的 JavaBean,其状态通过 Introspector 返回的 "setter" 和 "getter" 方法的匹配对来定义。
-
- 参数:
-
o
- 要写入流中的对象。 - 另请参见:
-
XMLDecoder.readObject()
setExceptionListener
public void setExceptionListener(ExceptionListener exceptionListener)
-
将此流的异常处理程序设置为
exceptionListener
。当此流捕获可恢复的异常时,异常处理程序会获得通知。 -
- 参数:
-
exceptionListener
- 此流的异常处理程序,如果该参数为null
,则使用默认异常侦听器。 - 另请参见:
-
getExceptionListener()
getExceptionListener
public ExceptionListener getExceptionListener()
- 获得此流的异常处理程序。
-
- 返回:
- 此流的异常处理程序;如果没有显式设置此处理程序,则返回默认异常侦听器。
- 另请参见:
-
setExceptionListener(java.beans.ExceptionListener)
getPersistenceDelegate
public PersistenceDelegate getPersistenceDelegate(Class<?> type)
-
返回给定类型的持久委托。持久委托是通过按顺序应用以下规则来计算的:
- 如果 type 是一个数组,则返回内部持久委托,它将实例化适当类型和长度数组,初始化其每个元素,就好像它们是属性一样。
- 如果 type 是一个代理,则返回内部持久委托,它将使用 Proxy 类中定义的静态 "newProxyInstance" 方法实例化一个新的代理实例。
- 如果此类型的 BeanInfo 有一个定义了 "persistenceDelegate" 属性的
BeanDescriptor
,则返回此值。 - 在其他所有情况下返回默认持久委托。默认持久委托假定 type 是一个 JavaBean,这意味着它有一个 null 构造方法,其状态通过 Introspector 返回的 "setter" 和 "getter" 方法的匹配对来定义。
-
- 参数:
-
type
- 对象的类型。 - 返回:
- 此对象类型的持久委托。
- 另请参见:
-
setPersistenceDelegate(java.lang.Class, java.beans.PersistenceDelegate)
,Introspector.getBeanInfo(java.lang.Class)
,BeanInfo.getBeanDescriptor()
setPersistenceDelegate
public void setPersistenceDelegate(Class<?> type, PersistenceDelegate persistenceDelegate)
-
将与此
type
相关联的持久委托设置为persistenceDelegate
。 -
- 参数:
-
type
- 对其应用persistenceDelegate
的对象的类。 -
persistenceDelegate
- 用于type
的实例的持久委托。 - 另请参见:
-
getPersistenceDelegate(java.lang.Class)
,Introspector.getBeanInfo(java.lang.Class)
,BeanInfo.getBeanDescriptor()
remove
public Object remove(Object oldInstance)
- 移除此实例的条目,返回旧的条目。
-
- 参数:
-
oldInstance
- 应该移除的条目。 - 返回:
- 被移除的条目。
- 另请参见:
-
get(java.lang.Object)
get
public Object get(Object oldInstance)
-
在由此流创建的环境中返回
oldInstance
的一个实验值。持久委托可以使用其mutatesTo
方法来确定是否可以初始化此值,以便输出时形成等效的对象,或者确定新对象是否必须被重新实例化。如果流未发现此值,则返回 null。 -
- 参数:
-
oldInstance
- 要查找的实例。 - 返回:
- 该对象,如果以前没有看见该对象,则返回 null。