public static <T> T inflate(Cursor cursor, TableDetails tableDetails) { T dataModelObject; try { dataModelObject = (T) tableDetails.createNewModelInstance(); } catch (Exception ex) { throw new QuantumFluxException( "Could not create a new instance of data model object: " + tableDetails.getTableName()); } for (int i = 0; i < cursor.getColumnCount(); i++) { String columnName = cursor.getColumnName(i); TableDetails.ColumnDetails columnDetails = tableDetails.findColumn(columnName); inflateColumn(cursor, dataModelObject, columnDetails, i); } return dataModelObject; }
public static ContentValues deflate(TableDetails tableDetails, Object dataModelObject) { List<TableDetails.ColumnDetails> columns = tableDetails.getColumns(); ContentValues contentValues = new ContentValues(columns.size()); for (int i = 0; i < columns.size(); i++) { TableDetails.ColumnDetails columnDetails = columns.get(i); if (columnDetails.isAutoIncrement()) continue; try { columnDetails.setContentValue(contentValues, dataModelObject); } catch (IllegalAccessException e) { throw new QuantumFluxException( "Unable to access protected field, change the access level: " + columnDetails.getColumnName()); } } return contentValues; }
public static ContentValues[] deflateAll(TableDetails tableDetails, Object... dataModelObjects) { List<TableDetails.ColumnDetails> columns = tableDetails.getColumns(); ContentValues[] contentValuesArray = new ContentValues[dataModelObjects.length]; for (int i = 0; i < dataModelObjects.length; i++) { contentValuesArray[i] = new ContentValues(columns.size()); } for (int i = 0; i < columns.size(); i++) { TableDetails.ColumnDetails columnDetails = columns.get(i); if (columnDetails.isAutoIncrement()) continue; for (int j = 0; j < dataModelObjects.length; j++) { try { columnDetails.setContentValue(contentValuesArray[j], dataModelObjects[j]); } catch (IllegalAccessException e) { throw new QuantumFluxException( "Unable to access protected field, change the access level: " + columnDetails.getColumnName()); } } } return contentValuesArray; }