// Path: framework/src/main/java/com/kifile/android/cornerstone/impl/fetchers/CursorFetcher.java
// public class CursorFetcher implements DataFetcher<Cursor> {
// 
//     private ContentResolver mResolver;
// 
//     private Uri mUri;
// 
//     private String[] mProjections;
// 
//     private String mSelection;
// 
//     private String[] mSelectionArgs;
// 
//     private String mOrderBy;
// 
//     public CursorFetcher(ContentResolver resolver, Uri uri) {
//         mResolver = resolver;
//         mUri = uri;
//     }
// 
//     public CursorFetcher setProjection(String[] projections) {
//         mProjections = projections;
//         return this;
//     }
// 
//     public CursorFetcher setSelection(String selection, String[] selectionArgs) {
//         mSelection = selection;
//         mSelectionArgs = selectionArgs;
//         return this;
//     }
// 
//     public CursorFetcher setOrderBy(String orderBy) {
//         mOrderBy = orderBy;
//         return this;
//     }
// 
//     /**
//      * If you want to change the params of fetcher, call it to reset the old params.
//      *
//      * @return
//      */
//     public CursorFetcher clear() {
//         mProjections = null;
//         mSelection = null;
//         mSelectionArgs = null;
//         mOrderBy = null;
//         return this;
//     }
// 
//     @Override
//     public Cursor fetch() throws FetchException, ConvertException {
//         return mResolver.query(mUri, mProjections, mSelection, mSelectionArgs, mOrderBy);
//     }
// }


import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
import android.net.Uri;
import com.kifile.android.cornerstone.impl.fetchers.CursorFetcher;
package com.kifile.android.cornerstone.impl.providers;



/**
 * ContentProvider数据获取基类,加入对数据变化的监听处理.
 *
 * @author kifile
 */
public class ContentDataProvider<DATA> extends AbstractDataProvider<DATA> {

    private final Uri mUri;

// Path: framework/src/main/java/com/kifile/android/cornerstone/impl/fetchers/CursorFetcher.java
// public class CursorFetcher implements DataFetcher<Cursor> {
// 
//     private ContentResolver mResolver;
// 
//     private Uri mUri;
// 
//     private String[] mProjections;
// 
//     private String mSelection;
// 
//     private String[] mSelectionArgs;
// 
//     private String mOrderBy;
// 
//     public CursorFetcher(ContentResolver resolver, Uri uri) {
//         mResolver = resolver;
//         mUri = uri;
//     }
// 
//     public CursorFetcher setProjection(String[] projections) {
//         mProjections = projections;
//         return this;
//     }
// 
//     public CursorFetcher setSelection(String selection, String[] selectionArgs) {
//         mSelection = selection;
//         mSelectionArgs = selectionArgs;
//         return this;
//     }
// 
//     public CursorFetcher setOrderBy(String orderBy) {
//         mOrderBy = orderBy;
//         return this;
//     }
// 
//     /**
//      * If you want to change the params of fetcher, call it to reset the old params.
//      *
//      * @return
//      */
//     public CursorFetcher clear() {
//         mProjections = null;
//         mSelection = null;
//         mSelectionArgs = null;
//         mOrderBy = null;
//         return this;
//     }
// 
//     @Override
//     public Cursor fetch() throws FetchException, ConvertException {
//         return mResolver.query(mUri, mProjections, mSelection, mSelectionArgs, mOrderBy);
//     }
// }


// Path: framework/src/main/java/com/kifile/android/cornerstone/impl/providers/ContentDataProvider.java
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
import android.net.Uri;
import com.kifile.android.cornerstone.impl.fetchers.CursorFetcher;

package com.kifile.android.cornerstone.impl.providers;



/**
 * ContentProvider数据获取基类,加入对数据变化的监听处理.
 *
 * @author kifile
 */
public class ContentDataProvider<DATA> extends AbstractDataProvider<DATA> {

    private final Uri mUri;

    private CursorFetcher mCursorFetcher;