private AbstractSchemaProperty convertSimple(FieldWrap<Config> source) {
String name = source.getAnnotation().name();
String desc = source.getAnnotation().desc();
String fieldName = source.getFieldName();
if (name == null || "".equals(name)) {
name = fieldName;
}
Class<?> type = source.getType();
validateField(source);
try {
if (source.isCollection()) {
Collection<String> converted = conversion.convert(source.getDefaultValues(),
String.class);
List<String> defaultValues = new ArrayList<String>(converted);
return SchemaPropertyList.create(name, fieldName, type.getName(), desc, source
.isFinal(), source.isEnum(), defaultValues, source.getCollRawType()
.getName());
} else {
return SchemaProperty.create(name, fieldName, type.getName(), desc,
source.isFinal(), source.isEnum(),
conversion.convert(source.getDefaultValue(), String.class));
}
} catch (ConversionException e) {
throw CFG104_UNSUPPORTED_PROPERTY(String.class, name, type);
}
}