翰林优商.apk(点击下载) / TableUtils.java


package sjm.xuitls.db.table;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.LinkedHashMap;
import sjm.xuitls.common.util.LogUtil;
import sjm.xuitls.db.annotation.Column;
import sjm.xuitls.db.converter.ColumnConverterFactory;

/* access modifiers changed from: package-private */
public final class TableUtils {
    private TableUtils() {
    }

    static LinkedHashMap<String, ColumnEntity> findColumnMap(Class<?> cls) {
        LinkedHashMap<String, ColumnEntity> linkedHashMap = new LinkedHashMap<>();
        addColumns2Map(cls, linkedHashMap);
        return linkedHashMap;
    }

    private static void addColumns2Map(Class<?> cls, HashMap<String, ColumnEntity> hashMap) {
        if (!Object.class.equals(cls)) {
            try {
                Field[] declaredFields = cls.getDeclaredFields();
                for (Field field : declaredFields) {
                    int modifiers = field.getModifiers();
                    if (!Modifier.isStatic(modifiers)) {
                        if (!Modifier.isTransient(modifiers)) {
                            Column column = (Column) field.getAnnotation(Column.class);
                            if (column != null && ColumnConverterFactory.isSupportColumnConverter(field.getType())) {
                                ColumnEntity columnEntity = new ColumnEntity(cls, field, column);
                                if (!hashMap.containsKey(columnEntity.getName())) {
                                    hashMap.put(columnEntity.getName(), columnEntity);
                                }
                            }
                        }
                    }
                }
                addColumns2Map(cls.getSuperclass(), hashMap);
            } catch (Throwable th) {
                LogUtil.e(th.getMessage(), th);
            }
        }
    }
}