@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