package io.requery.test.model;
import io.requery.Converter;
import java.util.ArrayList;
class IntegerListConverter implements Converter<ArrayList<Integer>, String> {
@SuppressWarnings("unchecked")
@Override
public Class<ArrayList<Integer>> getMappedType() {
return (Class)ArrayList.class;
}
@Override
public Class<String> getPersistedType() {
return String.class;
}
@Override
public Integer getPersistedSize() {
return null;
}
@Override
public String convertToPersisted(ArrayList<Integer> value) {
if (value == null) {
return "";
}
StringBuilder sb = new StringBuilder();
int index = 0;
for (Object integer : value) {
if (index > 0) {
sb.append(",");
}
sb.append(integer);
index++;
}
return sb.toString();
}
@Override
public ArrayList<Integer> convertToMapped(Class<? extends ArrayList<Integer>> type,
String value) {
ArrayList<Integer> list = new ArrayList<>();
if (value != null) {
String[] parts = value.split(",");
for (String part : parts) {
if (part.length() > 0) {
list.add(Integer.parseInt(part.trim()));
}
}
}
return list;
}
}