java.lang.Object java.beans.Encoder
public class Encoder
Encoder 是这样的类,它可用于创建根据其公共 API 对 JavaBeans 集合状态进行编码的文件或流。Encoder
结合其持久委托,负责将对象图形拆分成一系列可用于创建它的 Statements
和 Expression
。子类通常使用某种可读形式(比如 Java 源代码或 XML)提供这些表达式的语法。
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
public Encoder()
方法详细信息 |
---|
protected void writeObject(Object o)
o
- 要写入流中的对象。
XMLDecoder.readObject()
public void setExceptionListener(ExceptionListener exceptionListener)
exceptionListener
。当此流捕获可恢复的异常时,异常处理程序会获得通知。
exceptionListener
- 此流的异常处理程序;如果该参数为
null
,则使用默认异常侦听器。
getExceptionListener()
public ExceptionListener getExceptionListener()
setExceptionListener(java.beans.ExceptionListener)
public PersistenceDelegate getPersistenceDelegate(Class<?> type)
BeanDescriptor
,则返回此值。 ConstructorProperties
注释的、参数最多的构造方法。如果没有一个构造方法有 ConstructorProperties
注释,则使用 null 构造方法。例如,在下列语句中,对于 Foo
将使用 null 构造方法;对于 Bar
将使用有两个参数的构造方法。 public class Foo { public Foo() { ... } public Foo(int x) { ... } } public class Bar { public Bar() { ... }
-
-
参数:
-
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。
writeStatement
public void writeStatement(Statement oldStm)
-
将语句
oldStm
写入流中。
oldStm
应该完全根据调用者环境写入,也就是说,目标和所有参数都应该是将被写入的对象图形的一部分。这些表达式表示一系列的“发生了什么”表达式,告知输出流如何生成类似源对象图形的对象图形。
此方法的实现将产生另一个表达式,它表示读取流时将存在的环境中的同一表达式。通过在目标和所有参数上调用 writeObject
并使用结果构建一个新的表达式可以做到这一点。
-
-
参数:
-
oldStm
- 要写入流中的表达式。
writeExpression
public void writeExpression(Expression oldExp)
-
该实现首先查看使用此值的表达式是否已经被写入。如果尚未写入,则使用与
writeStatement
相同的过程复制该表达式,通过调用
writeObject
方法使表达式的值与复制表达式的值一致。
-
-
参数:
-
oldExp
- 要写入流中的表达式。