所有类


java.beans
类 Encoder

java.lang.Object
  继承者 java.beans.Encoder
直接已知子类:
XMLEncoder

public class Encoder
   
   
   
   
   
extends Object

Encoder 类用于创建根据其公共 API 对 JavaBeans 集合的状态进行编码的文件或流。Encoder 结合其持久委托,负责将对象图形拆分成一系列可用于创建它的 StatementsExpression。子类通常使用某种可读形式(比如 Java 源代码或 XML)提供这些表达式的语法。

从以下版本开始:
1.4

构造方法摘要
Encoder()
           
 
方法摘要
 Objectget(Object oldInstance)
          在由此流创建的环境中返回 oldInstance 的一个实验值。
 ExceptionListenergetExceptionListener()
          获得此流的异常处理程序。
 PersistenceDelegategetPersistenceDelegate(Class<?> type)
          返回给定类型的持久委托。
 Objectremove(Object oldInstance)
          移除此实例的条目,返回旧的条目。
 voidsetExceptionListener(ExceptionListener exceptionListener)
          将此流的异常处理程序设置为 exceptionListener
 voidsetPersistenceDelegate(Class<?> type, PersistenceDelegate persistenceDelegate)
          将与此 type 相关联的持久委托设置为 persistenceDelegate
 voidwriteExpression(Expression oldExp)
          该实现首先查看使用此值的表达式是否已经被写入。
protected  voidwriteObject(Object o)
          将指定对象写入输出流中。
 voidwriteStatement(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。