return getPropertyInfo(item, property).getDictEntryProvider();
}
public EntryInfo getEntryInfo(Class clazz) {
if (!entryInfos.containsKey(clazz)) {
EntryInfo entryInfo = new EntryInfo();
entryInfo.setEntryClass(clazz);
for (Field field : getDeclaredFields(clazz)) {
if (field.getAnnotation(Key.class) != null) {
entryInfo.setKeyProperty(field.getName());
entryInfo.setKeyType(field.getType());
}
else if (field.getAnnotation(Value.class) != null) {
entryInfo.setValueProperty(field.getName());
entryInfo.setValueType(field.getType());
}
else if (field.getAnnotation(Description.class) != null) {
entryInfo.setDescriptionProperty(field.getName());
entryInfo.setDescriptionType(field.getType());
}
else {
Ext ext = field.getAnnotation(Ext.class);
if (ext != null) {
ExtInfo extInfo = new ExtInfo();
extInfo.setName(ext.name());
extInfo.setProperty(field.getName());
extInfo.setType(field.getType());
Default def = field.getAnnotation(Default.class);
if (def != null) {
extInfo.setDefaultValue(def.value());
}
ComplexContent compl = field.getAnnotation(ComplexContent.class);
if (compl != null) {
extInfo.setElementClass(compl.elementClass());
extInfo.setSeparator(compl.separator());
extInfo.setDefaultNull(compl.defaultNull());
}
entryInfo.addExtInfo(extInfo);
}
}
}
entryInfos.put(clazz, entryInfo);
}