public class CopyOptions extends Object implements Serializable
| 限定符和类型 | 字段和说明 |
|---|---|
protected Class<?> |
editable
限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类
|
protected Map<String,String> |
fieldMapping
拷贝属性的字段映射,用于不同的属性之前拷贝做对应表用
|
protected Editor<String> |
fieldNameEditor
字段属性编辑器,用于自定义属性转换规则,例如驼峰转下划线等
|
protected boolean |
ignoreCase
是否忽略字段大小写
|
protected boolean |
ignoreError
是否忽略字段注入错误
|
protected boolean |
ignoreNullValue
是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null
|
protected String[] |
ignoreProperties
忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值
|
private Map<String,String> |
reversedFieldMapping
反向映射表,自动生成用于反向查找
|
private static long |
serialVersionUID |
private boolean |
transientSupport
是否支持transient关键字修饰和@Transient注解,如果支持,被修饰的字段或方法对应的字段将被忽略。
|
| 构造器和说明 |
|---|
CopyOptions()
构造拷贝选项
|
CopyOptions(Class<?> editable,
boolean ignoreNullValue,
String... ignoreProperties)
构造拷贝选项
|
| 限定符和类型 | 方法和说明 |
|---|---|
static CopyOptions |
create()
创建拷贝选项
|
static CopyOptions |
create(Class<?> editable,
boolean ignoreNullValue,
String... ignoreProperties)
创建拷贝选项
|
protected String |
editFieldName(String fieldName)
转换字段名为编辑后的字段名
|
protected String |
getMappedFieldName(String fieldName,
boolean reversed)
获得映射后的字段名
当非反向,则根据源字段名获取目标字段名,反之根据目标字段名获取源字段名。 |
private Map<String,String> |
getReversedMapping()
获取反转之后的映射
|
CopyOptions |
ignoreCase()
设置忽略字段的大小写
|
CopyOptions |
ignoreError()
设置忽略字段的注入错误
|
CopyOptions |
ignoreNullValue()
设置忽略空值,当源对象的值为null时,忽略而不注入此值
|
boolean |
isTransientSupport()
是否支持transient关键字修饰和@Transient注解,如果支持,被修饰的字段或方法对应的字段将被忽略。
|
CopyOptions |
setEditable(Class<?> editable)
设置限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性
|
CopyOptions |
setFieldMapping(Map<String,String> fieldMapping)
设置拷贝属性的字段映射,用于不同的属性之前拷贝做对应表用
|
CopyOptions |
setFieldNameEditor(Editor<String> fieldNameEditor)
设置字段属性编辑器,用于自定义属性转换规则,例如驼峰转下划线等
此转换器只针对源端的字段做转换,请确认转换后与目标端字段一致 |
CopyOptions |
setIgnoreCase(boolean ignoreCase)
设置是否忽略字段的大小写
|
CopyOptions |
setIgnoreError(boolean ignoreError)
设置是否忽略字段的注入错误
|
CopyOptions |
setIgnoreNullValue(boolean ignoreNullVall)
设置是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null
|
CopyOptions |
setIgnoreProperties(String... ignoreProperties)
设置忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值
|
CopyOptions |
setTransientSupport(boolean transientSupport)
设置是否支持transient关键字修饰和@Transient注解,如果支持,被修饰的字段或方法对应的字段将被忽略。
|
private static final long serialVersionUID
protected Class<?> editable
protected boolean ignoreNullValue
protected String[] ignoreProperties
protected boolean ignoreError
protected boolean ignoreCase
private boolean transientSupport
public static CopyOptions create()
public static CopyOptions create(Class<?> editable, boolean ignoreNullValue, String... ignoreProperties)
editable - 限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性ignoreNullValue - 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入nullignoreProperties - 忽略的属性列表,设置一个属性列表,不拷贝这些属性值public CopyOptions setEditable(Class<?> editable)
editable - 限制的类或接口public CopyOptions setIgnoreNullValue(boolean ignoreNullVall)
ignoreNullVall - 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入nullpublic CopyOptions ignoreNullValue()
public CopyOptions setIgnoreProperties(String... ignoreProperties)
ignoreProperties - 忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值public CopyOptions setIgnoreError(boolean ignoreError)
ignoreError - 是否忽略注入错误public CopyOptions ignoreError()
public CopyOptions setIgnoreCase(boolean ignoreCase)
ignoreCase - 是否忽略大小写public CopyOptions ignoreCase()
public CopyOptions setFieldMapping(Map<String,String> fieldMapping)
fieldMapping - 拷贝属性的字段映射,用于不同的属性之前拷贝做对应表用public CopyOptions setFieldNameEditor(Editor<String> fieldNameEditor)
fieldNameEditor - 字段属性编辑器,用于自定义属性转换规则,例如驼峰转下划线等public boolean isTransientSupport()
public CopyOptions setTransientSupport(boolean transientSupport)
transientSupport - 是否支持protected String getMappedFieldName(String fieldName, boolean reversed)
fieldName - 字段名reversed - 是否反向映射protected String editFieldName(String fieldName)
fieldName - 字段名Copyright © 2020. All rights reserved.