package org.yeshi.utils.annotation;
|
|
import java.lang.annotation.Annotation;
|
import java.lang.reflect.Field;
|
import java.util.Properties;
|
|
public class MapUtil {
|
|
public static Object parseMap(Class<?> clazz, Properties ps) {
|
System.out.println(clazz.getName());
|
Object target = null;
|
try {
|
Class clz = Class.forName(clazz.getName());
|
target = clz.newInstance();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
Field[] fields = clazz.getDeclaredFields();
|
for (Field fd : fields) {
|
fd.setAccessible(true);
|
Annotation[] as = fd.getAnnotations();
|
for (Annotation a : as) {
|
if (a instanceof Map) {
|
Map c = (Map) a;
|
try {
|
fd.set(target, new String(ps.getProperty(c.value()).getBytes("ISO-8859-1"), "UTF-8"));
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
return target;
|
}
|
|
}
|