StringListConverter.java
package de.dlr.shepard.common.util;
import jakarta.persistence.AttributeConverter;
import jakarta.persistence.Converter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
@Converter
public class StringListConverter implements AttributeConverter<List<String>, String> {
public static final String SPLIT_CHAR = "|";
@Override
public String convertToDatabaseColumn(List<String> stringList) {
return stringList != null ? String.join(SPLIT_CHAR, stringList) : "";
}
@Override
public List<String> convertToEntityAttribute(String string) {
return (string == null || string.isBlank())
? new ArrayList<String>()
: new ArrayList<String>(Arrays.asList(string.split(Pattern.quote(SPLIT_CHAR))));
}
}