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 表示全部字段可用FieldMatcher
public 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.