当前位置: 首页>>代码示例>>Java>>正文


Java Column类代码示例

本文整理汇总了Java中com.activeandroid.annotation.Column的典型用法代码示例。如果您正苦于以下问题:Java Column类的具体用法?Java Column怎么用?Java Column使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Column类属于com.activeandroid.annotation包,在下文中一共展示了Column类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getDeclaredColumnFields

import com.activeandroid.annotation.Column; //导入依赖的package包/类
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;		
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:28,代码来源:ReflectionUtils.java

示例2: createUniqueColumnDefinition

import com.activeandroid.annotation.Column; //导入依赖的package包/类
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);
	}
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:31,代码来源:SQLiteUtils.java

示例3: createColumnDefinition

import com.activeandroid.annotation.Column; //导入依赖的package包/类
@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();
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:68,代码来源:SQLiteUtils.java

示例4: TableInfo

import com.activeandroid.annotation.Column; //导入依赖的package包/类
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);
           }
       }

}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:34,代码来源:TableInfo.java

示例5: createUniqueColumnDefinition

import com.activeandroid.annotation.Column; //导入依赖的package包/类
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 (group.isEmpty())
			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);
	}
}
 
开发者ID:DobrinAlexandru,项目名称:Wabbit-Messenger---android-client,代码行数:31,代码来源:SQLiteUtils.java


注:本文中的com.activeandroid.annotation.Column类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。