public static Object deflateColumn( TableDetails tableDetails, TableDetails.ColumnDetails columnDetails, Object dataModelObject) { try { Object value = columnDetails.getColumnField().get(dataModelObject); if (value == null) return null; else return columnDetails.getColumnTypeMapping().toSqlType(value); } catch (IllegalAccessException e) { throw new QuantumFluxException( "Unable to access protected field, change the access level: " + columnDetails.getColumnName()); } }
private static <T> void inflateColumn( Cursor cursor, T dataModelObject, TableDetails.ColumnDetails columnDetails, int columnIndex) { // If the column details is not required, then check if it is null if (!columnDetails.isRequired() && cursor.isNull(columnIndex)) { return; } try { columnDetails.setFieldValue(cursor, columnIndex, dataModelObject); } catch (IllegalAccessException e) { throw new QuantumFluxException( "Not allowed to alter the value of the field, please change the access level: " + columnDetails.getColumnName()); } }
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; }