mirror of https://github.com/halo-dev/halo
Remove Abstract*Converter
parent
180b111582
commit
d7b5bf2e49
|
@ -1,40 +0,0 @@
|
||||||
package cc.ryanc.halo.model.dto.base;
|
|
||||||
|
|
||||||
import java.lang.reflect.ParameterizedType;
|
|
||||||
import java.lang.reflect.Type;
|
|
||||||
|
|
||||||
import static cc.ryanc.halo.utils.BeanUtils.transformFrom;
|
|
||||||
import static cc.ryanc.halo.utils.BeanUtils.updateProperties;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convenience for input dto.Abstract input dto converter.
|
|
||||||
*
|
|
||||||
* @author johnniang
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public abstract class AbstractInputConverter<DOMAIN> implements InputConverter<DOMAIN> {
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
private final Class<DOMAIN> domainType = (Class<DOMAIN>) fetchType(0);
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DOMAIN convertTo() {
|
|
||||||
return transformFrom(this, domainType);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update(DOMAIN domain) {
|
|
||||||
updateProperties(this, domain);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get actual generic type.
|
|
||||||
*
|
|
||||||
* @param index generic type index
|
|
||||||
* @return real type will be returned
|
|
||||||
*/
|
|
||||||
private Type fetchType(int index) {
|
|
||||||
return ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[index];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
package cc.ryanc.halo.model.dto.base;
|
|
||||||
|
|
||||||
import org.springframework.util.Assert;
|
|
||||||
|
|
||||||
import java.lang.reflect.ParameterizedType;
|
|
||||||
import java.lang.reflect.Type;
|
|
||||||
|
|
||||||
import static cc.ryanc.halo.utils.BeanUtils.updateProperties;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Abstract output dto converter. (it must be extended by DTO)
|
|
||||||
*
|
|
||||||
* @author johnniang
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public abstract class AbstractOutputConverter<DTO extends OutputConverter<DTO, DOMAIN>, DOMAIN> implements OutputConverter<DTO, DOMAIN> {
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
private final Class<DTO> dtoType = (Class<DTO>) fetchType(0);
|
|
||||||
|
|
||||||
public AbstractOutputConverter() {
|
|
||||||
Assert.isTrue(dtoType.equals(getClass()), "this converter must be extended by DTO type");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public <T extends DTO> T convertFrom(DOMAIN domain) {
|
|
||||||
updateProperties(domain, this);
|
|
||||||
return (T) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get actual generic type.
|
|
||||||
*
|
|
||||||
* @param index generic type index
|
|
||||||
* @return real type will be returned
|
|
||||||
*/
|
|
||||||
private Type fetchType(int index) {
|
|
||||||
return ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[index];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue