XCO教程

来源:互联网 发布:java中的extends 编辑:程序博客网 时间:2024/06/11 20:36

XCO


1. XCO简介

XCO(XSON common object)是一种通用的数据对象, 底层采用一种类似Map的数据结构进行数据的存储访问,能够方便的以XML方式对数据对象进行序列化和反序列化,适合同构、异构系统之间的数据传输和交换。

2. 支持的数据类型

a. 8种基本类型(byte, boolean, short, int, long, float, double, char)b. 8种基本类型数组e. String, String数组, String集合c. Date, sql.Date, sql.Timed. BigInteger, BigDecimale. XCO, XCO数组, XCO集合

3. XML格式

<?xml version="1.0" encoding="UTF-8"?><X>    <B K="byteVal" V="3"/>    <O K="booleanVal" V="true"/>    <H K="shortVal" V="5"/>    <I K="intVal" V="2"/>    <L K="longVal" V="2"/>    <F K="floatVal" V="2.0"/>    <D K="doubleVal" V="-0.3"/>    <C K="charVal" V="x"/>    <S K="stringVal" V="hello world"/>    <A K="dateTimeVal" V="2016-09-02 16:58:25"/>    <E K="dateVal" V="2016-09-02"/>    <G K="TimeVal" V="16:58:25"/>    <K K="bigIntegerVal" V="1380000"/>    <M K="bigDecimal" V="1380000.9999"/>    <X K="xcoVal"/>    <IA K="intArray" V="1,3,5,8"/>    <SA K="stringArray">        <S V="aa"/>        <S V="bb"/>        <S V="cc"/>    </SA>    <SL K="stringList"/>    <SS K="stringSet"/></X>

说明

a. 以此为例:<H K="shortVal" V="5"/>    H: 数据类型标识,当前标示short类型    K: key    V: 具体数值b. 数据类型标识说明    B: byte    H: short    I: int    L: Long    F: float    D: double    C: char    O: boolean    S: String    X: xco    A: date    E: sql.date    G: sql.time    J: sql.timestamp    K: bigInteger    M: bigDecimal    ..    其他详见:org.xson.common.object.DataType

4. 常用方法

a. 赋值    public final void setIntegerValue(String field, int var)        设置一个int类型的值, field为key    public final void setStringValue(String field, String var)        设置一个String类型的值, field为key    //setXxxb. 取值    public final int getIntegerValue(String field)        获取一个int类型的值, field为key    public final String getStringValue(String field)        获取一个String类型的值, field为key    //getXxxc. 序列化    public String toXMLString()         把XCO对象以XML方式进行序列化    public static XCO fromXML(String xml)        从一个XML字符串反序列化为XCO对象    public String toJSON()        把XCO对象以JSON方式进行序列化

5. 使用示例

    XCO xco = new XCO();    // 设置基本类型    xco.setByteValue("byteVal", (byte) 3);    xco.setBooleanValue("booleanVal", true);    xco.setShortValue("shortVal", (short) 5);    xco.setIntegerValue("intVal", 2);    xco.setLongValue("longVal", 2L);    xco.setFloatValue("floatVal", 2.0F);    xco.setDoubleValue("doubleVal", -0.3D);    xco.setCharValue("charVal", 'x');    // 设置对象类型    xco.setStringValue("stringVal", "hello world");    xco.setDateTimeValue("dateTimeVal", new java.util.Date());    xco.setDateValue("dateVal", new java.sql.Date(System.currentTimeMillis()));    xco.setTimeValue("TimeVal", new java.sql.Time(System.currentTimeMillis()));    xco.setBigIntegerValue("bigIntegerVal", new BigInteger("1380000"));    xco.setBigDecimalValue("bigDecimal", new BigDecimal("1380000.9999"));    xco.setXCOValue("xcoVal", new XCO());    // 设置数组    xco.setIntegerArrayValue("intArray", new int[] { 1, 3, 5, 8 });    xco.setStringArrayValue("stringArray", new String[] { "aa", "bb", "cc" });    // 设置集合    List<String> list = new ArrayList<String>();    xco.setStringListValue("stringList", list);    Set<String> set = new TreeSet<String>();    xco.setStringSetValue("stringSet", set);    // XML序列化    String xml = xco.toXMLString();    // 反序列化    XCO newXco = XCO.fromXML(xml);    // 取值    byte byteVal = xco.getByteValue("byteVal");    boolean booleanVal = xco.getBooleanValue("booleanVal");    short shortVal = xco.getShortValue("shortVal");    int intVal = xco.getIntegerValue("intVal");    long longVal = xco.getLongValue("longVal");    float floatVal = xco.getFloatValue("floatVal");    double doubleVal = xco.getDoubleValue("doubleVal");    String stringVal = xco.getStringValue("stringVal");    XCO xcoVal = xco.getXCOValue("xcoVal"); 

6. 设计图

XCO设计图

7. 联系交流

  • QQ群:518522232 *请备注关注的项目
  • 邮箱:xson_org@126.com
  • 项目地址: https://github.com/xsonorg/xco
0 0