/** * Convert a field instance into A ColumnModel instance. ColumnModel can provide information * when creating table. * @param field * A supported field to map into column. * @return ColumnModel instance contains column information. */ private ColumnModel convertFieldToColumnModel(Field field) { String fieldType = field.getType().getName(); String columnType = getColumnType(fieldType); boolean nullable = true; boolean unique = false; String defaultValue = ""; Column annotation = field.getAnnotation(Column.class); if (annotation != null) { nullable = annotation.nullable(); unique = annotation.unique(); defaultValue = annotation.defaultValue(); } ColumnModel columnModel = new ColumnModel(); columnModel.setColumnName(DBUtility.convertToValidColumnName(field.getName())); columnModel.setColumnType(columnType); columnModel.setNullable(nullable); columnModel.setUnique(unique); columnModel.setDefaultValue(defaultValue); return columnModel; }
genericModel.setTableName(DBUtility.getGenericTableName(className, field.getName())); genericModel.setValueColumnName(DBUtility.convertToValidColumnName(field.getName())); genericModel.setValueColumnType(getColumnType(genericTypeName)); genericModel.setValueIdColumnName(DBUtility.getGenericValueIdColumnName(className)); mGenericModels.add(genericModel);