twaver.model.io
Class XMLSerializer

java.lang.Object
  extended by twaver.model.io.XMLSerializer
All Implemented Interfaces:
ISerializer<DataBox>

public class XMLSerializer
extends java.lang.Object
implements ISerializer<DataBox>

xml序列化,用于将数据容器内的数据序列化为xml数据,以及将这些xml数据反序列化成网元元素


Constructor Summary
XMLSerializer()
          构造函数
XMLSerializer(boolean format)
          构造函数
 
Method Summary
 ElementBox deserialize(java.lang.String s)
          字符串反序列化数据到数据容器
 DataBox deserialize(java.lang.String s, java.lang.Class<? extends DataBox> clazz)
          反序列化数据
 void deserialize(java.lang.String s, DataBox box)
          从字符串反序列化数据到指定的数据容器
static XMLSerializer getInstance()
          XML序列化静态实例
 boolean isDataSerializable(Data data)
          数据元素是否允许序列化
 boolean isFormat()
          是否格式化(首行缩进)
 boolean isPropertySerializable(Data data, java.lang.String propertyName, java.lang.Object propertyValue, java.lang.String propertyType)
          属性是否可以允许序列化
 boolean isPropertySerializable(Data data, java.lang.String propertyName, java.lang.String propertyType)
          属性是否可以允许序列化
 java.lang.String serialize(DataBox box)
          序列化指定数据容器中的数据
 void serialize(DataBox o, java.lang.StringBuffer xml)
          序列化数据
 void setFormat(boolean format)
          设置xml是否格式化(首行缩进)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLSerializer

public XMLSerializer()
构造函数


XMLSerializer

public XMLSerializer(boolean format)
构造函数

Parameters:
format - xml是否格式化(首行缩进)
Method Detail

getInstance

public static XMLSerializer getInstance()
XML序列化静态实例

Returns:
XML序列化静态实例

setFormat

public void setFormat(boolean format)
设置xml是否格式化(首行缩进)

Parameters:
format - 是否格式化(首行缩进)

isFormat

public boolean isFormat()
是否格式化(首行缩进)

Returns:
是否格式化(首行缩进)

serialize

public java.lang.String serialize(DataBox box)
序列化指定数据容器中的数据

Parameters:
box - 数据容器
Returns:
序列化数据

serialize

public void serialize(DataBox o,
                      java.lang.StringBuffer xml)
Description copied from interface: ISerializer
序列化数据

Specified by:
serialize in interface ISerializer<DataBox>
Parameters:
o - 对象
xml - 得到的序列化数据

deserialize

public DataBox deserialize(java.lang.String s,
                           java.lang.Class<? extends DataBox> clazz)
Description copied from interface: ISerializer
反序列化数据

Specified by:
deserialize in interface ISerializer<DataBox>
Parameters:
s - 字符串
clazz - 返回数据类型
Returns:
反序列化结果

deserialize

public void deserialize(java.lang.String s,
                        DataBox box)
从字符串反序列化数据到指定的数据容器

Parameters:
s - xml数据
box - 数据容器

deserialize

public ElementBox deserialize(java.lang.String s)
字符串反序列化数据到数据容器

Parameters:
s - xml
Returns:
数据容器

isDataSerializable

public boolean isDataSerializable(Data data)
数据元素是否允许序列化

Parameters:
data - 数据元素
Returns:
是否可以序列化,默认为true

isPropertySerializable

public boolean isPropertySerializable(Data data,
                                      java.lang.String propertyName,
                                      java.lang.String propertyType)
属性是否可以允许序列化

Parameters:
data - 数据元素
propertyName - 属性名
propertyType - 属性类型
Returns:
属性是否可以允许序列化

isPropertySerializable

public boolean isPropertySerializable(Data data,
                                      java.lang.String propertyName,
                                      java.lang.Object propertyValue,
                                      java.lang.String propertyType)
属性是否可以允许序列化

Parameters:
data - 数据元素
propertyName - 属性名
propertyValue - 属性值
propertyType - 属性类型
Returns:
属性是否可以允许序列化