Refactor AbstractConverter constructor (#1110)

pull/1114/head
John Niang 2020-10-14 10:42:33 -05:00 committed by GitHub
parent 036644bf10
commit 2ca92b5391
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 9 additions and 21 deletions

View File

@ -1,8 +1,11 @@
package run.halo.app.model.enums.converter;
import run.halo.app.model.enums.ValueEnum;
import run.halo.app.utils.ReflectionUtils;
import javax.persistence.AttributeConverter;
import java.lang.reflect.Type;
import java.util.Objects;
/**
* Abstract converter.
@ -16,8 +19,12 @@ public abstract class AbstractConverter<E extends ValueEnum<V>, V> implements At
private final Class<E> clazz;
protected AbstractConverter(Class<E> clazz) {
this.clazz = clazz;
@SuppressWarnings("unchecked")
protected AbstractConverter() {
Type enumType = Objects.requireNonNull(
ReflectionUtils.getParameterizedTypeBySuperClass(AbstractConverter.class, this.getClass())
).getActualTypeArguments()[0];
this.clazz = (Class<E>) enumType;
}
@Override

View File

@ -13,7 +13,4 @@ import javax.persistence.Converter;
@Converter(autoApply = true)
public class AttachmentTypeConverter extends AbstractConverter<AttachmentType, Integer> {
public AttachmentTypeConverter() {
super(AttachmentType.class);
}
}

View File

@ -13,8 +13,4 @@ import javax.persistence.Converter;
@Converter(autoApply = true)
public class CommentStatusConverter extends AbstractConverter<CommentStatus, Integer> {
public CommentStatusConverter() {
super(CommentStatus.class);
}
}

View File

@ -13,7 +13,4 @@ import javax.persistence.Converter;
@Converter(autoApply = true)
public class DataTypeConverter extends AbstractConverter<DataType, Integer> {
public DataTypeConverter() {
super(DataType.class);
}
}

View File

@ -13,7 +13,4 @@ import javax.persistence.Converter;
@Converter(autoApply = true)
public class LogTypeConverter extends AbstractConverter<LogType, Integer> {
public LogTypeConverter() {
super(LogType.class);
}
}

View File

@ -13,7 +13,4 @@ import javax.persistence.Converter;
@Converter(autoApply = true)
public class PostStatusConverter extends AbstractConverter<PostStatus, Integer> {
public PostStatusConverter() {
super(PostStatus.class);
}
}

View File

@ -14,7 +14,4 @@ import javax.persistence.Converter;
@Deprecated
public class PostTypeConverter extends AbstractConverter<PostType, Integer> {
public PostTypeConverter() {
super(PostType.class);
}
}