Back to project page CursorMapper.
The source code is released under:
Apache License
If you think the Android project CursorMapper listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (C) 2014 Pawe? Urban<pawel.urban@gmail.com> *//from w w w . ja va 2s .c om * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package cursor.mapper.cursor; import static timber.log.Timber.w; import android.database.Cursor; import java.lang.reflect.Field; import cursor.mapper.cursor.extractor.ColumnExtractor; import cursor.mapper.cursor.extractor.ColumnExtractorFactory; public class CursorExtractor { private ColumnExtractorFactory mColumnExtractorFactory; public CursorExtractor() { this(ColumnExtractorFactory.getInstance()); } public CursorExtractor(ColumnExtractorFactory factory) { mColumnExtractorFactory = factory; } public Object extract(Cursor cursor, String columnName, Field fieldType) { int columnIndex = cursor.getColumnIndex(columnName); ColumnExtractor columnExtractor = mColumnExtractorFactory.get(fieldType); if (columnExtractor == null) { w("Unsupported column type: " + fieldType); return null; } return columnExtractor.extract(fieldType.getType(), cursor, columnIndex); } public boolean hasColumn(Cursor cursor, String columnName) { try { cursor.getColumnIndexOrThrow(columnName); return true; } catch (IllegalArgumentException e) { return false; } } }