我的问题是如何创建一个实现dynamodbtypeconverter的泛型转换器类。这个类将需要与我提供的任何枚举类一起工作。
这里我提供了一个到现场的转换器:
@DynamoDBTypeConverted(converter = TypeConverter.class)
private List<Types> types;
下面是我尝试过的转换器:
public class TypeConverter<T extends Enum<T> & OperationsEnums> implements DynamoDBTypeConverter<List<String>, List<T>> {
private final Class<T> type;
public TypeConverter(Class<T> typeClass){
this.type = typeClass;
}
@Override
public List<String> convert(List<T> object) {
var result = new ArrayList<String>();
object
.forEach(value -> result.add(value.toString()));
return result;
}
@Override
public List<T> unconvert(List<String> objectsString) {
var result = new ArrayList<T>();
objectsString
.forEach(value -> result.add(Enum.valueOf(type, value)));
return result;
}
}
如果有类似的问题,有人能分享他们在这个问题上的知识吗。谢谢您。
1条答案
按热度按时间xcitsw881#
因为
@Convert
注解工作。您将需要每个枚举的泛型转换器的子类,该子类将枚举类传递给超级构造函数。