public abstract class Chain extends Object
通过 add 方法,建立一条名值对的链表
| 限定符和类型 | 类和说明 | 
|---|---|
static class  | 
Chain.DefaultChain  | 
static class  | 
Chain.Entry  | 
| 构造器和说明 | 
|---|
Chain()  | 
| 限定符和类型 | 方法和说明 | 
|---|---|
abstract ValueAdaptor | 
adaptor()  | 
abstract Chain | 
adaptor(ValueAdaptor adaptor)
设置节点的参考适配器 
 | 
abstract Chain | 
add(String name,
   Object value)
将一个名值对,添加为本链节点的下一环 
 | 
abstract Chain | 
addSpecial(String name,
          Object value)
添加一个特殊节点, 如果value非空而且是String类型,则有3个情况:
 +1 效果如age=age+1
 -1 效果如count=count-1
 支持的运算符有 + - *\/ % & ^ |
 其他值, 则对value.toString()
 
  
Chain chain = Chain.makeSpecial("age", "+1");//输出的SQL会是 age=age+1
 
 Chain chain = Chain.makeSpecial("ct", "now()");//输出的SQL会是 ct=now(),但不建议用依赖特定数据库的now(),仅供演示. | 
static Chain | 
from(Object obj)
根据一个 POJO 对象的字段 生成一个 Chain 对象
 
 相当于 Chain.from(obj,null) 
 | 
static Chain | 
from(Object obj,
    FieldMatcher fm)
根据一个对象的字段 生成一个 Chain 对象
 
 这个对象可以是一个 POJO 或者是一个 Map。 
 | 
static Chain | 
from(Object obj,
    FieldMatcher fm,
    Dao dao)  | 
abstract Chain | 
head()  | 
abstract boolean | 
isSpecial()
整个Chain是否为特殊Chain,只要有一个特殊结点,就是特殊Chain 
 | 
static Chain | 
make(String name,
    Object value)
建立一条名值链开始的一环 
 | 
static Chain | 
makeSpecial(String name,
           Object value)  | 
abstract String | 
name()  | 
abstract Chain | 
name(String name)
改变当前节点的名称 
 | 
abstract Chain | 
next()  | 
abstract int | 
size()  | 
abstract boolean | 
special()
当前结点是不是特殊结点 
 | 
Map<String,Object> | 
toEntityMap(String tableName)
由当前的值链生成一个可被实体化的 Map。 
 | 
abstract Map<String,Object> | 
toMap()
由当前名值链,生成一个 Map 
 | 
abstract <T> T | 
toObject(Class<T> classOfT)
由当前的名值链,生成一个对象 
 | 
String | 
toString()
生成一个 JSON 字符串 
 | 
abstract Chain | 
updateBy(Entity<?> entity)
根据 Entity 里的设定,更新整个链所有节点的名称。 
 | 
abstract Object | 
value()  | 
abstract Chain | 
value(Object value)
改变当前节点的值 
 | 
public static Chain make(String name, Object value)
name - 名称value - 值public abstract int size()
public abstract Chain adaptor(ValueAdaptor adaptor)
adaptor - 适配器public abstract ValueAdaptor adaptor()
public abstract Chain add(String name, Object value)
name - 名value - 值public abstract String name()
public abstract Object value()
public abstract Chain next()
public abstract Chain head()
public abstract Chain updateBy(Entity<?> entity)
如果节点的名称是 Entity 的一个字段,则采用数据库字段的名称
entity - 实体public abstract <T> T toObject(Class<T> classOfT)
classOfT - 对象类型public abstract boolean isSpecial()
addSpecial(String, Object)public abstract boolean special()
public Map<String,Object> toEntityMap(String tableName)
tableName - 表名public static Chain from(Object obj, FieldMatcher fm)
这个对象可以是一个 POJO 或者是一个 Map。
支持 FieldMatcher,即你可以通过 FieldMatcher 来指定你需要哪些字段加入 Chain
obj - 对象,可以是一个 POJO 或者是一个 Mapfm - 指明可用字段,null 表示全部字段可用FieldMatcherpublic static Chain from(Object obj)
相当于 Chain.from(obj,null)
obj - POJO 对象public static Chain from(Object obj, FieldMatcher fm, Dao dao)
public abstract Chain addSpecial(String name, Object value)
Chain chain = Chain.makeSpecial("age", "+1");//输出的SQL会是 age=age+1
 
 Chain chain = Chain.makeSpecial("ct", "now()");//输出的SQL会是 ct=now(),但不建议用依赖特定数据库的now(),仅供演示.public static Chain makeSpecial(String name, Object value)
addSpecial(String, Object)Copyright © 2017. All rights reserved.