quota-manager/src/main/java/org/gcube/resource/management/quota/manager/persistence/entities/converters/StringListConverter.java

39 lines
979 B
Java

package org.gcube.resource.management.quota.manager.persistence.entities.converters;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
/**
* StringListConverter
*
* @author Alessandro Pieve (alessandro.pieve@isti.cnr.it)
*
*/
@Converter
public class StringListConverter implements AttributeConverter<List<String>, String>{
@Override
public String convertToDatabaseColumn(List<String> list) {
if (list!=null && list.size()>0){
StringBuilder builder = new StringBuilder();
for (String value: list)
builder.append(value).append(",||,");
return builder.substring(builder.length()-4, builder.length());
} else return "";
}
@Override
public List<String> convertToEntityAttribute(String dbEntry) {
if (dbEntry!=null && !dbEntry.isEmpty()){
return Arrays.asList(dbEntry.split(",\\|\\|,"));
}
else return new ArrayList<String>(0);
}
}