com.activeandroid.annotation.Column Java Examples
The following examples show how to use
com.activeandroid.annotation.Column.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ReflectionUtils.java From clear-todolist with GNU General Public License v3.0 | 5 votes |
public static Set<Field> getDeclaredColumnFields(Class<?> type) { Set<Field> declaredColumnFields = Collections.emptySet(); if (ReflectionUtils.isSubclassOf(type, Model.class) || Model.class.equals(type)) { declaredColumnFields = new LinkedHashSet<Field>(); Field[] fields = type.getDeclaredFields(); Arrays.sort(fields, new Comparator<Field>() { @Override public int compare(Field field1, Field field2) { return field2.getName().compareTo(field1.getName()); } }); for (Field field : fields) { if (field.isAnnotationPresent(Column.class)) { declaredColumnFields.add(field); } } Class<?> parentType = type.getSuperclass(); if (parentType != null) { declaredColumnFields.addAll(getDeclaredColumnFields(parentType)); } } return declaredColumnFields; }
Example #2
Source File: SQLiteUtils.java From clear-todolist with GNU General Public License v3.0 | 5 votes |
public static void createUniqueColumnDefinition(TableInfo tableInfo, Field field) { final String name = tableInfo.getColumnName(field); final Column column = field.getAnnotation(Column.class); if (field.getName().equals("mId")) { return; } String[] groups = column.uniqueGroups(); ConflictAction[] conflictActions = column.onUniqueConflicts(); if (groups.length != conflictActions.length) return; for (int i = 0; i < groups.length; i++) { String group = groups[i]; ConflictAction conflictAction = conflictActions[i]; if (TextUtils.isEmpty(group)) continue; List<String> list = sUniqueGroupMap.get(group); if (list == null) { list = new ArrayList<String>(); } list.add(name); sUniqueGroupMap.put(group, list); sOnUniqueConflictsMap.put(group, conflictAction); } }
Example #3
Source File: TableInfo.java From clear-todolist with GNU General Public License v3.0 | 5 votes |
public TableInfo(Class<? extends Model> type) { mType = type; final Table tableAnnotation = type.getAnnotation(Table.class); if (tableAnnotation != null) { mTableName = tableAnnotation.name(); mIdName = tableAnnotation.id(); } else { mTableName = type.getSimpleName(); } // Manually add the id column since it is not declared like the other columns. Field idField = getIdField(type); mColumnNames.put(idField, mIdName); List<Field> fields = new LinkedList<Field>(ReflectionUtils.getDeclaredColumnFields(type)); Collections.reverse(fields); for (Field field : fields) { if (field.isAnnotationPresent(Column.class)) { final Column columnAnnotation = field.getAnnotation(Column.class); String columnName = columnAnnotation.name(); if (TextUtils.isEmpty(columnName)) { columnName = field.getName(); } mColumnNames.put(field, columnName); } } }
Example #4
Source File: ReflectionUtils.java From mobile-android-survey-app with MIT License | 5 votes |
public static Set<Field> getDeclaredColumnFields(Class<?> type) { Set<Field> declaredColumnFields = Collections.emptySet(); if (ReflectionUtils.isSubclassOf(type, Model.class) || Model.class.equals(type)) { declaredColumnFields = new LinkedHashSet<Field>(); Field[] fields = type.getDeclaredFields(); Arrays.sort(fields, new Comparator<Field>() { @Override public int compare(Field field1, Field field2) { return field2.getName().compareTo(field1.getName()); } }); for (Field field : fields) { if (field.isAnnotationPresent(Column.class)) { declaredColumnFields.add(field); } } Class<?> parentType = type.getSuperclass(); if (parentType != null) { declaredColumnFields.addAll(getDeclaredColumnFields(parentType)); } } return declaredColumnFields; }
Example #5
Source File: SQLiteUtils.java From mobile-android-survey-app with MIT License | 5 votes |
public static void createUniqueColumnDefinition(TableInfo tableInfo, Field field) { final String name = tableInfo.getColumnName(field); final Column column = field.getAnnotation(Column.class); if (field.getName().equals("mId")) { return; } String[] groups = column.uniqueGroups(); ConflictAction[] conflictActions = column.onUniqueConflicts(); if (groups.length != conflictActions.length) return; for (int i = 0; i < groups.length; i++) { String group = groups[i]; ConflictAction conflictAction = conflictActions[i]; if (TextUtils.isEmpty(group)) continue; List<String> list = sUniqueGroupMap.get(group); if (list == null) { list = new ArrayList<String>(); } list.add(name); sUniqueGroupMap.put(group, list); sOnUniqueConflictsMap.put(group, conflictAction); } }
Example #6
Source File: TableInfo.java From mobile-android-survey-app with MIT License | 5 votes |
public TableInfo(Class<? extends Model> type) { mType = type; final Table tableAnnotation = type.getAnnotation(Table.class); if (tableAnnotation != null) { mTableName = tableAnnotation.name(); mIdName = tableAnnotation.id(); } else { mTableName = type.getSimpleName(); } // Manually add the id column since it is not declared like the other columns. Field idField = getIdField(type); mColumnNames.put(idField, mIdName); List<Field> fields = new LinkedList<Field>(ReflectionUtils.getDeclaredColumnFields(type)); Collections.reverse(fields); for (Field field : fields) { if (field.isAnnotationPresent(Column.class)) { final Column columnAnnotation = field.getAnnotation(Column.class); String columnName = columnAnnotation.name(); if (TextUtils.isEmpty(columnName)) { columnName = field.getName(); } mColumnNames.put(field, columnName); } } }
Example #7
Source File: SQLiteUtils.java From clear-todolist with GNU General Public License v3.0 | 4 votes |
@SuppressWarnings("unchecked") public static String createColumnDefinition(TableInfo tableInfo, Field field) { StringBuilder definition = new StringBuilder(); Class<?> type = field.getType(); final String name = tableInfo.getColumnName(field); final TypeSerializer typeSerializer = Cache.getParserForType(field.getType()); final Column column = field.getAnnotation(Column.class); if (typeSerializer != null) { type = typeSerializer.getSerializedType(); } if (TYPE_MAP.containsKey(type)) { definition.append(name); definition.append(" "); definition.append(TYPE_MAP.get(type).toString()); } else if (ReflectionUtils.isModel(type)) { definition.append(name); definition.append(" "); definition.append(SQLiteType.INTEGER.toString()); } else if (ReflectionUtils.isSubclassOf(type, Enum.class)) { definition.append(name); definition.append(" "); definition.append(SQLiteType.TEXT.toString()); } if (!TextUtils.isEmpty(definition)) { if (name.equals(tableInfo.getIdName())) { definition.append(" PRIMARY KEY AUTOINCREMENT"); }else if(column!=null){ if (column.length() > -1) { definition.append("("); definition.append(column.length()); definition.append(")"); } if (column.notNull()) { definition.append(" NOT NULL ON CONFLICT "); definition.append(column.onNullConflict().toString()); } if (column.unique()) { definition.append(" UNIQUE ON CONFLICT "); definition.append(column.onUniqueConflict().toString()); } } if (FOREIGN_KEYS_SUPPORTED && ReflectionUtils.isModel(type)) { definition.append(" REFERENCES "); definition.append(Cache.getTableInfo((Class<? extends Model>) type).getTableName()); definition.append("("+tableInfo.getIdName()+")"); definition.append(" ON DELETE "); definition.append(column.onDelete().toString().replace("_", " ")); definition.append(" ON UPDATE "); definition.append(column.onUpdate().toString().replace("_", " ")); } } else { Log.e("No type mapping for: " + type.toString()); } return definition.toString(); }
Example #8
Source File: SQLiteUtils.java From mobile-android-survey-app with MIT License | 4 votes |
@SuppressWarnings("unchecked") public static String createColumnDefinition(TableInfo tableInfo, Field field) { StringBuilder definition = new StringBuilder(); Class<?> type = field.getType(); final String name = tableInfo.getColumnName(field); final TypeSerializer typeSerializer = Cache.getParserForType(field.getType()); final Column column = field.getAnnotation(Column.class); if (typeSerializer != null) { type = typeSerializer.getSerializedType(); } if (TYPE_MAP.containsKey(type)) { definition.append(name); definition.append(" "); definition.append(TYPE_MAP.get(type).toString()); } else if (ReflectionUtils.isModel(type)) { definition.append(name); definition.append(" "); definition.append(SQLiteType.INTEGER.toString()); } else if (ReflectionUtils.isSubclassOf(type, Enum.class)) { definition.append(name); definition.append(" "); definition.append(SQLiteType.TEXT.toString()); } if (!TextUtils.isEmpty(definition)) { if (name.equals(tableInfo.getIdName())) { definition.append(" PRIMARY KEY AUTOINCREMENT"); }else if(column!=null){ if (column.length() > -1) { definition.append("("); definition.append(column.length()); definition.append(")"); } if (column.notNull()) { definition.append(" NOT NULL ON CONFLICT "); definition.append(column.onNullConflict().toString()); } if (column.unique()) { definition.append(" UNIQUE ON CONFLICT "); definition.append(column.onUniqueConflict().toString()); } } if (FOREIGN_KEYS_SUPPORTED && ReflectionUtils.isModel(type)) { definition.append(" REFERENCES "); definition.append(Cache.getTableInfo((Class<? extends Model>) type).getTableName()); definition.append("("+tableInfo.getIdName()+")"); definition.append(" ON DELETE "); definition.append(column.onDelete().toString().replace("_", " ")); definition.append(" ON UPDATE "); definition.append(column.onUpdate().toString().replace("_", " ")); } } else { Log.e("No type mapping for: " + type.toString()); } return definition.toString(); }