TableUtils.java
/*
* Decompiled with CFR 0_132.
*/
package org.xutils.db.table;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.LinkedHashMap;
import org.xutils.common.util.LogUtil;
import org.xutils.db.annotation.Column;
import org.xutils.db.converter.ColumnConverterFactory;
import org.xutils.db.table.ColumnEntity;
final class TableUtils {
private TableUtils() {
}
static synchronized LinkedHashMap<String, ColumnEntity> findColumnMap(Class<?> entityType) {
LinkedHashMap<String, ColumnEntity> columnMap = new LinkedHashMap<String, ColumnEntity>();
TableUtils.addColumns2Map(entityType, columnMap);
return columnMap;
}
private static void addColumns2Map(Class<?> entityType, HashMap<String, ColumnEntity> columnMap) {
if (Object.class.equals(entityType)) {
return;
}
try {
Field[] fields;
for (Field field : fields = entityType.getDeclaredFields()) {
ColumnEntity column;
Column columnAnn;
int modify = field.getModifiers();
if (Modifier.isStatic(modify) || Modifier.isTransient(modify) || (columnAnn = field.getAnnotation(Column.class)) == null || !ColumnConverterFactory.isSupportColumnConverter(field.getType()) || columnMap.containsKey((column = new ColumnEntity(entityType, field, columnAnn)).getName())) continue;
columnMap.put(column.getName(), column);
}
TableUtils.addColumns2Map(entityType.getSuperclass(), columnMap);
}
catch (Throwable e) {
LogUtil.e(e.getMessage(), e);
}
}
}