
com.lframework.starter.web.bo.BaseBo Maven / Gradle / Ivy
package com.lframework.starter.web.bo;
import com.lframework.common.functions.SFunction;
import com.lframework.common.utils.ArrayUtil;
import com.lframework.common.utils.BeanUtil;
import com.lframework.common.utils.ObjectUtil;
import com.lframework.common.utils.ReflectUtil;
import com.lframework.starter.web.dto.BaseDto;
import java.io.Serializable;
/**
* BaseBo
*
* @param
* @author zmj
*/
public abstract class BaseBo implements Serializable, SuperBo {
private static final long serialVersionUID = 1L;
public BaseBo() {
}
public BaseBo(T dto) {
if (dto != null) {
this.convert(dto);
this.afterInit(dto);
}
}
/**
* 将dto转为bo
*
* @param dto
*/
public BaseBo convert(T dto) {
return convert(dto, (SFunction[]) null);
}
public BaseBo convert(T dto, SFunction... columns) {
if (ObjectUtil.isNull(dto)) {
return this;
}
String[] columnNames = null;
if (!ArrayUtil.isEmpty(columns)) {
columnNames = new String[columns.length];
for (int i = 0; i < columns.length; i++) {
columnNames[i] = ReflectUtil.getFieldName(columns[i]);
}
}
BeanUtil.copyProperties(dto, this, columnNames);
return this;
}
/**
* 初始化后置处理
*
* @param dto
*/
protected void afterInit(T dto) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy