org.nutz.dao
类 Chain

java.lang.Object
  继承者 org.nutz.dao.Chain

public class Chain
extends java.lang.Object

名值链。

通过 add 方法,建立一条名值对的链表

作者:
zozoh(zozohtnt@gmail.com), Wendal(wendal1985@gmail.com)

字段摘要
 boolean special
          当前节点是否为特殊节点
 
方法摘要
 ValueAdaptor adaptor()
           
 Chain adaptor(ValueAdaptor adaptor)
          设置节点的参考适配器
 Chain add(java.lang.String name, java.lang.Object value)
          将一个名值对,添加为本链节点的下一环
 Chain addSpecial(java.lang.String name, java.lang.Object value)
          添加一个特殊节点, 如果value非空,则有3个情况: +1 效果如age=age+1 -1 效果如count=count-1 其他值, 则对value.toString(),效果如 time=todate("XXXXX")
static Chain from(java.lang.Object obj)
          根据一个 POJO 对象的字段 生成一个 Chain 对象 相当于 Chain.from(obj,null)
static Chain from(java.lang.Object obj, FieldMatcher fm)
          根据一个对象的字段 生成一个 Chain 对象 这个对象可以是一个 POJO 或者是一个 Map。
 Chain head()
           
 boolean isSpecial()
          整个Chain是否为特殊Chain
static Chain make(java.lang.String name, java.lang.Object value)
          建立一条名值链开始的一环
static Chain makeSpecial(java.lang.String name, java.lang.Object value)
           
 java.lang.String name()
           
 Chain name(java.lang.String name)
          改变当前节点的名称
 Chain next()
           
 int size()
           
 java.util.Map<java.lang.String,java.lang.Object> toEntityMap(java.lang.String tableName)
          由当前的值链生成一个可被实体化的 Map。
 java.util.Map<java.lang.String,java.lang.Object> toMap()
          由当前名值链,生成一个 Map
<T> T
toObject(java.lang.Class<T> classOfT)
          由当前的名值链,生成一个对象
 java.lang.String toString()
          生成一个 JSON 字符串
 Chain updateBy(Entity<?> entity)
          根据 Entity 里的设定,更新整个链所有节点的名称。
 java.lang.Object value()
           
 Chain value(java.lang.Object value)
          改变当前节点的值
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

special

public boolean special
当前节点是否为特殊节点

从以下版本开始:
1.b.44
另请参见:
addSpecial(String, Object)
方法详细信息

make

public static Chain make(java.lang.String name,
                         java.lang.Object value)
建立一条名值链开始的一环

参数:
name - 名称
value - 值
返回:
链头

size

public int size()
返回:
链的长度

name

public Chain name(java.lang.String name)
改变当前节点的名称

参数:
name - 新名称
返回:
当前节点

value

public Chain value(java.lang.Object value)
改变当前节点的值

参数:
value - 新值
返回:
当前节点

adaptor

public Chain adaptor(ValueAdaptor adaptor)
设置节点的参考适配器

参数:
adaptor - 适配器
返回:
当前节点

adaptor

public ValueAdaptor adaptor()
返回:
当前节点的参考适配器

add

public Chain add(java.lang.String name,
                 java.lang.Object value)
将一个名值对,添加为本链节点的下一环

参数:
name - 名
value - 值
返回:
新增加的节点

name

public java.lang.String name()
返回:
当前节点的名称

value

public java.lang.Object value()
返回:
当前节点的值

next

public Chain next()
返回:
下一个节点

head

public Chain head()
返回:
整个链的第一环(头节点)

updateBy

public Chain updateBy(Entity<?> entity)
根据 Entity 里的设定,更新整个链所有节点的名称。

如果节点的名称是 Entity 的一个字段,则采用数据库字段的名称

参数:
entity - 实体
返回:
链头节点

toObject

public <T> T toObject(java.lang.Class<T> classOfT)
由当前的名值链,生成一个对象

参数:
classOfT - 对象类型
返回:
对象实例

toMap

public java.util.Map<java.lang.String,java.lang.Object> toMap()
由当前名值链,生成一个 Map

返回:
Map

toEntityMap

public java.util.Map<java.lang.String,java.lang.Object> toEntityMap(java.lang.String tableName)
由当前的值链生成一个可被实体化的 Map。 即有 '.table' 属性

参数:
tableName - 表名
返回:
可被实体化的 Map

toString

public java.lang.String toString()
生成一个 JSON 字符串

覆盖:
java.lang.Object 中的 toString

from

public static Chain from(java.lang.Object obj,
                         FieldMatcher fm)
根据一个对象的字段 生成一个 Chain 对象

这个对象可以是一个 POJO 或者是一个 Map。

支持 FieldMatcher,即你可以通过 FieldMatcher 来指定你需要哪些字段加入 Chain

参数:
obj - 对象,可以是一个 POJO 或者是一个 Map
fm - 指明可用字段,null 表示全部字段可用
返回:
Chain 对象,null 表示对象中没有可用字段
另请参见:
FieldMatcher

from

public static Chain from(java.lang.Object obj)
根据一个 POJO 对象的字段 生成一个 Chain 对象

相当于 Chain.from(obj,null)

参数:
obj - POJO 对象
返回:
Chain 对象

addSpecial

public Chain addSpecial(java.lang.String name,
                        java.lang.Object value)
添加一个特殊节点, 如果value非空,则有3个情况:

  • +1 效果如age=age+1
  • -1 效果如count=count-1
  • 其他值, 则对value.toString(),效果如 time=todate("XXXXX")
  • 从以下版本开始:
    1.b.44

    makeSpecial

    public static Chain makeSpecial(java.lang.String name,
                                    java.lang.Object value)
    从以下版本开始:
    1.b.44
    另请参见:
    addSpecial(String, Object)

    isSpecial

    public boolean isSpecial()
    整个Chain是否为特殊Chain

    从以下版本开始:
    1.b.44
    另请参见:
    addSpecial(String, Object)