Android Open Source - android-model-record Imgur Data Cache






From Project

Back to project page android-model-record.

License

The source code is released under:

MIT License

If you think the Android project android-model-record listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.fanpics.opensource.android.modelrecord.sample.data.cache;
/*from w w w .jav a  2s.c  om*/
import android.content.Context;

import com.fanpics.opensource.android.modelrecord.RecordCache;
import com.fanpics.opensource.android.modelrecord.sample.data.model.ImgurData;
import com.fanpics.opensource.android.modelrecord.sample.data.model.ImgurItem;

import java.util.ArrayList;
import java.util.List;

import io.realm.Realm;
import io.realm.RealmQuery;
import io.realm.RealmResults;

public class ImgurDataCache implements RecordCache<ImgurData> {
    private final Context context;

    public ImgurDataCache(Context context) {
        this.context = context;
    }

    @Override
    public ImgurData load(Object key) {
        Realm realm = Realm.getInstance(context);
        RealmQuery<ImgurItem> query = realm.where(ImgurItem.class);
        RealmResults<ImgurItem> realmResults = query.findAll();

        if (realmResults.size() > 0) {
            return createImgurData(realmResults);
        }

        return null;
    }

    private ImgurData createImgurData(RealmResults<ImgurItem> realmResults) {
        ImgurData imgurData = new ImgurData();
        List<ImgurItem> convertedList = new ArrayList<>();

        for (ImgurItem item: realmResults) {
            ImgurItem convertItem = new ImgurItem();
            ImgurItem.cloneInto(item, convertItem);
            convertedList.add(convertItem);
        }

        imgurData.setImgurItems(convertedList);
        return imgurData;
    }

    @Override
    public void store(Object key, ImgurData imgurData) {
        clear();
        storeNewList(imgurData);
    }

    private void storeNewList(ImgurData imgurData) {
        Realm realm = Realm.getInstance(context);
        realm.beginTransaction();
        for (ImgurItem item : imgurData.getFirstTenItems()) {
            storeItem(realm, item);
        }

        realm.commitTransaction();

    }

    private void storeItem(Realm realm, ImgurItem item) {
        ImgurItem realmItem = realm.createObject(ImgurItem.class);
        ImgurItem.cloneInto(item, realmItem);
    }

    @Override
    public void store(Object key, List<ImgurData> imgurData) {

    }

    @Override
    public List<ImgurData> loadList(Object key) {
        return null;
    }

    @Override
    public void clear() {
        Realm realm = Realm.getInstance(context);
        realm.beginTransaction();
        RealmQuery<ImgurItem> query = realm.where(ImgurItem.class);
        query.findAll().clear();
        realm.commitTransaction();
    }

    @Override
    public void delete(ImgurData object) {

    }
}




Java Source Code List

com.fanpics.opensource.android.modelrecord.HttpReport.java
com.fanpics.opensource.android.modelrecord.ModelRecordTest.java
com.fanpics.opensource.android.modelrecord.ModelRecord.java
com.fanpics.opensource.android.modelrecord.RecordCache.java
com.fanpics.opensource.android.modelrecord.ResponseParser.java
com.fanpics.opensource.android.modelrecord.Result.java
com.fanpics.opensource.android.modelrecord.callback.BaseRecordCallback.java
com.fanpics.opensource.android.modelrecord.callback.CreateCallback.java
com.fanpics.opensource.android.modelrecord.callback.DeleteCallbackTest.java
com.fanpics.opensource.android.modelrecord.callback.DeleteCallback.java
com.fanpics.opensource.android.modelrecord.callback.FailureCallback.java
com.fanpics.opensource.android.modelrecord.callback.LoadCallback.java
com.fanpics.opensource.android.modelrecord.callback.LoadListCallback.java
com.fanpics.opensource.android.modelrecord.callback.RecordCallbackTest.java
com.fanpics.opensource.android.modelrecord.callback.RecordCallback.java
com.fanpics.opensource.android.modelrecord.callback.SuccessCallback.java
com.fanpics.opensource.android.modelrecord.callback.UpdateCallback.java
com.fanpics.opensource.android.modelrecord.configuration.BaseRecordConfigurationTest.java
com.fanpics.opensource.android.modelrecord.configuration.BaseRecordConfiguration.java
com.fanpics.opensource.android.modelrecord.configuration.MultiRecordConfigurationTest.java
com.fanpics.opensource.android.modelrecord.configuration.MultiRecordConfiguration.java
com.fanpics.opensource.android.modelrecord.configuration.SingleRecordConfigurationTest.java
com.fanpics.opensource.android.modelrecord.configuration.SingleRecordConfiguration.java
com.fanpics.opensource.android.modelrecord.event.EventProcessor.java
com.fanpics.opensource.android.modelrecord.event.FailureEvent.java
com.fanpics.opensource.android.modelrecord.event.OttoProcessorTest.java
com.fanpics.opensource.android.modelrecord.event.OttoProcessor.java
com.fanpics.opensource.android.modelrecord.event.SuccessEventTest.java
com.fanpics.opensource.android.modelrecord.event.SuccessEvent.java
com.fanpics.opensource.android.modelrecord.sample.data.cache.ImgurDataCache.java
com.fanpics.opensource.android.modelrecord.sample.data.model.ImgurData.java
com.fanpics.opensource.android.modelrecord.sample.data.model.ImgurItem.java
com.fanpics.opensource.android.modelrecord.sample.data.model.record.ImgurDataRecord.java
com.fanpics.opensource.android.modelrecord.sample.data.network.ImgurItemService.java
com.fanpics.opensource.android.modelrecord.sample.event.ImgurDataLoadFailedEvent.java
com.fanpics.opensource.android.modelrecord.sample.event.ImgurDataLoadSucceededEvent.java
com.fanpics.opensource.android.modelrecord.sample.ui.activity.MainActivity.java
com.fanpics.opensource.android.modelrecord.sample.ui.adapter.ImgurAdapter.java