0 Tage Serie
java / expert
Snippet

Komplexe Datentransformation mit GenericConverter

GenericConverter ist die flexibelste Schnittstelle in Springs Konvertierungssystem. Im Gegensatz zu einfachen Convertern bietet sie TypeDescriptors, was Logik ermöglicht, die von Generics oder Annotationen abhängt.

snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class CollectionToReportConverter implements GenericConverter {
@Override
public Set<ConvertiblePair> getConvertibleTypes() {
return Collections.singleton(new ConvertiblePair(Collection.class, Report.class));
}
@Override
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
Collection<?> list = (Collection<?>) source;
// Sophisticated logic using TypeDescriptor to inspect generic parameters
return new Report(list.size(), sourceType.getElementTypeDescriptor().getType());
}
}
spring
Erklärung
1
getConvertibleTypes()
Definiert die unterstützten Quell-zu-Ziel-Mapping-Paare für diesen Converter.
2
sourceType.getElementTypeDescriptor()
Ermöglicht die Inspektion des generischen Komponententyps (z. B. T in List<T>) für fortgeschrittene Mapping-Logik.