@groovy.util.logging.Slf4j @groovy.transform.CompileStatic class DynamicFieldService extends java.lang.Object
Constructor and description |
---|
DynamicFieldService
() |
Type Params | Return Type | Name and description |
---|---|---|
|
DynamicFieldValue |
build(DynamicFieldInstance field, java.lang.String strValue, java.lang.Object typedValue) |
|
static DynamicFieldValue |
buildFromString(java.lang.String value, DynamicFieldInstance dynamicFieldInstance) |
|
java.util.Map<java.lang.String, java.lang.Object> |
convertFormValues(java.util.Map formValues, grails.databinding.converters.ValueConverter decimalConverter, grails.databinding.converters.ValueConverter dateConverter) |
|
DynamicFieldValue |
createDynamicFieldValue(java.lang.Object domainObj, java.lang.Object dynamicFieldInstance) 创建一个新的动态字段值对象 |
|
java.util.List |
fillAllWithDynamicFieldValues(java.lang.Iterable<?> domainObjects, FetchType fetchType) 将一个领域对象数组中,所有的对象都附加上动态字段的值 |
|
java.lang.Object |
getDynamicFieldValue(java.lang.Object value, grails.databinding.converters.ValueConverter decimalConverter, grails.databinding.converters.ValueConverter dateConverter, DynamicFieldDataType dataType, java.lang.Class<? extends GormEntity<?>> clazz) |
|
java.util.List<DynamicFieldValue> |
getDynamicFieldValueByType(java.lang.Object objectField, java.lang.Object domainObj) 获取属于某个领域对象的,某种类型的动态字段 |
|
java.util.List<DynamicFieldValue> |
getDynamicFieldValuesOf(GormEntity<?> domainObj) 获取某个领域对象的所有动态字段的值 |
|
static boolean |
hasDynamicFields(GormEntity<?> obj) 判断一个领域对象是否包含动态字段 |
|
java.util.Map<java.lang.Object, java.lang.Object> |
mergeStaticAndDynamicFields(GormEntity<?> domainObj, FetchType fetchType) 将领域对象中的动态字段和基本字段的值组合,放到一个 map 中并返回 |
|
java.util.List<DynamicFieldValue> |
parseDynamicFields(GormEntity<?> domainObj, java.lang.Object jsonObj, grails.databinding.converters.ValueConverter decimalConverter, grails.databinding.converters.ValueConverter dateConverter, boolean isCreate) |
|
void |
saveAllToOwner(long ownerId, java.util.List<DynamicFieldValue> values, boolean flush) 将一组动态字段值保存或者更新 |
|
void |
setDomainDynamicProperties(java.util.List<DynamicFieldValue> values, GormEntity<?> domainObj) 将动态字段的元数据及字段值设置到领域对象中 本操作通过 WithDynamicFields 实现 具体原理可查看 https://groovy-lang.org/metaprogramming.html#_propertymissing 如果动态字段的控件是多选或者多选加输入类型的,那么值会从 jsonValue 字段中读取 |
|
void |
setDynamicFieldValue(DynamicFieldValue valueObj, java.lang.Object value, grails.databinding.converters.ValueConverter decimalConverter, grails.databinding.converters.ValueConverter dateConverter, DynamicFieldDataType dataType) 根据传入的值及预设的值转换器,将值设置到动态字段中的对应列 值的合法的 json 表达式会保存到 jsonValue 字段中 |
Methods inherited from class | Name |
---|---|
class java.lang.Object |
java.lang.Object#getClass(), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#hashCode(), java.lang.Object#equals(java.lang.Object), java.lang.Object#notifyAll(), java.lang.Object#toString(), java.lang.Object#notify() |
创建一个新的动态字段值对象
domainObj
- 该动态字段的宿主领域对象dynamicFieldInstance
- 动态字段的定义将一个领域对象数组中,所有的对象都附加上动态字段的值
domainObjects
- 领域对象数组获取属于某个领域对象的,某种类型的动态字段
objectField
- 与领域模型关联的动态字段定义domainObj
- 领域对象获取某个领域对象的所有动态字段的值
domainObj
- 领域对象判断一个领域对象是否包含动态字段
obj
- 领域模型对象将领域对象中的动态字段和基本字段的值组合,放到一个 map 中并返回
domainObj
- 领域对象将一组动态字段值保存或者更新
ownerId
- 该组动态字段所属的对象values
- 动态字段值将动态字段的元数据及字段值设置到领域对象中 本操作通过 WithDynamicFields 实现 具体原理可查看 https://groovy-lang.org/metaprogramming.html#_propertymissing 如果动态字段的控件是多选或者多选加输入类型的,那么值会从 jsonValue 字段中读取
values
- 动态字段的值和元数据domainObj
- 领域对象根据传入的值及预设的值转换器,将值设置到动态字段中的对应列 值的合法的 json 表达式会保存到 jsonValue 字段中
valueObj
- 动态字段对象value
- 传入的值对象decimalConverter
- 字符类型的转换器dateConverter
- 日期类型的转换器Groovy Documentation