-
- All Implemented Interfaces:
public final class Lifecycle.BeforeUpdateTransformersBuilder extends Lifecycle.BaseQsTransformersBuilder
更新前,对QueryStructure进行转换, 例如,添加更新时间,更新人等
-
-
Method Summary
Modifier and Type Method Description Lifecycle.BeforeUpdateTransformersBuilderaddTransformer(Lifecycle.QueryStructureTransformer transformer)添加一个StructureTransformer转换器根据提供的 Class<Any>, QueryStructure, QueryPayload 信息,对QueryStructure进行转换并返回 final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilderaddField(String field, Class<T> fieldClass, Function0<T> value, Lifecycle.BeforeUpdatePredicate predicate)更新前添加字段,当未指定某字段的值时,为该字段添加默认值,如update_by等 不会处理QueryProSql执行的插入操作 final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilderaddField(String field, Class<T> fieldClass, Function0<T> value)更新前添加字段,当未指定某字段的值时,为该字段添加默认值,如update_by等 不会处理QueryProSql执行的插入操作 final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilderoverrideField(String field, Class<T> fieldClass, Function0<T> value, Lifecycle.BeforeUpdatePredicate predicate)更新前添加字段,覆盖字段,无论是否指定此字段,始终覆盖,例如:更新时间 不会处理QueryProSql执行的插入操作 可使用 QueryProConst(Kt). final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilderoverrideField(String field, Class<T> fieldClass, Function0<T> value)更新前添加字段,覆盖字段,无论是否指定此字段,始终覆盖,例如:更新时间 不会处理QueryProSql执行的插入操作 可使用 QueryProConst(Kt). final Lifecycle.BeforeUpdateTransformersBuilderdeleteField(String field, Class<Object> fieldClass, Lifecycle.BeforeUpdatePredicate predicate)更新时忽略某字段 不会处理QueryProSql执行的插入操作 final Lifecycle.BeforeUpdateTransformersBuilderdeleteField(String field, Class<Object> fieldClass)更新时忽略某字段 不会处理QueryProSql执行的插入操作 -
-
Method Detail
-
addTransformer
Lifecycle.BeforeUpdateTransformersBuilder addTransformer(Lifecycle.QueryStructureTransformer transformer)
添加一个StructureTransformer转换器
根据提供的 Class<Any>, QueryStructure, QueryPayload 信息,对QueryStructure进行转换并返回
- Parameters:
transformer- QueryStructureTransformer.transformkotlin:
fun transform(clazz: Class<Any>, qs: QueryStructure, payload: QueryPayload): Result<QueryStructure, Throwable>java:
Result<QueryStructure, Throwable> transform(Class<?> clazz, QueryStructure qs, QueryPayload payload)
-
addField
@JvmOverloads() final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilder addField(String field, Class<T> fieldClass, Function0<T> value, Lifecycle.BeforeUpdatePredicate predicate)
更新前添加字段,当未指定某字段的值时,为该字段添加默认值,如update_by等 不会处理QueryProSql执行的插入操作
- Parameters:
fieldClass- 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况predicate- 可选的过滤器,返回结果为false时,该字段不会被添加
-
addField
@JvmOverloads() final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilder addField(String field, Class<T> fieldClass, Function0<T> value)
更新前添加字段,当未指定某字段的值时,为该字段添加默认值,如update_by等 不会处理QueryProSql执行的插入操作
- Parameters:
fieldClass- 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况
-
overrideField
@JvmOverloads() final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilder overrideField(String field, Class<T> fieldClass, Function0<T> value, Lifecycle.BeforeUpdatePredicate predicate)
更新前添加字段,覆盖字段,无论是否指定此字段,始终覆盖,例如:更新时间 不会处理QueryProSql执行的插入操作 可使用 QueryProConst(Kt).NULL 实现deleteField
- Parameters:
fieldClass- 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况predicate- 可选的过滤器,返回结果为false时,该字段不会被添加或覆盖
-
overrideField
@JvmOverloads() final <T extends Any> Lifecycle.BeforeUpdateTransformersBuilder overrideField(String field, Class<T> fieldClass, Function0<T> value)
更新前添加字段,覆盖字段,无论是否指定此字段,始终覆盖,例如:更新时间 不会处理QueryProSql执行的插入操作 可使用 QueryProConst(Kt).NULL 实现deleteField
- Parameters:
fieldClass- 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况
-
deleteField
@JvmOverloads() final Lifecycle.BeforeUpdateTransformersBuilder deleteField(String field, Class<Object> fieldClass, Lifecycle.BeforeUpdatePredicate predicate)
更新时忽略某字段 不会处理QueryProSql执行的插入操作
- Parameters:
fieldClass- 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况,可为null,为null时代表不区分类型predicate- 可选的过滤器,返回结果为false时,该字段不会被移除
-
deleteField
@JvmOverloads() final Lifecycle.BeforeUpdateTransformersBuilder deleteField(String field, Class<Object> fieldClass)
更新时忽略某字段 不会处理QueryProSql执行的插入操作
- Parameters:
fieldClass- 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况,可为null,为null时代表不区分类型
-
-
-
-