Class NetworkBoundResource<T>

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      <S> void addSource​(androidx.lifecycle.LiveData<S> source, androidx.lifecycle.Observer<? super S> onChanged)  
      protected abstract Result<T> createNetworkRequest()  
      protected abstract androidx.lifecycle.LiveData<T> loadFromDb()  
      protected void onFetchFailed()  
      void refresh​(RefreshMode refreshMode)  
      protected abstract void saveRequestResult​(T item)  
      void setValue​(Resource<T> newValue)  
      protected boolean shouldFetch()  
      • Methods inherited from class androidx.lifecycle.MediatorLiveData

        onActive, onInactive, removeSource
      • Methods inherited from class androidx.lifecycle.MutableLiveData

        postValue
      • Methods inherited from class androidx.lifecycle.LiveData

        getValue, hasActiveObservers, hasObservers, observe, observeForever, removeObserver, removeObservers
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • dbSource

        @NonNull
        protected androidx.lifecycle.LiveData<T> dbSource
    • Constructor Detail

      • NetworkBoundResource

        @MainThread
        public NetworkBoundResource​(@NonNull
                                    java.lang.String tag,
                                    @NonNull
                                    AppExecutors appExecutors,
                                    @NonNull
                                    androidx.lifecycle.LiveData<T> dbSource)
      • NetworkBoundResource

        @MainThread
        public NetworkBoundResource​(@NonNull
                                    java.lang.String tag,
                                    @NonNull
                                    AppExecutors appExecutors)
    • Method Detail

      • refresh

        @MainThread
        public void refresh​(@NonNull
                            RefreshMode refreshMode)
      • setValue

        @MainThread
        public void setValue​(Resource<T> newValue)
        Overrides:
        setValue in class androidx.lifecycle.MutableLiveData<Resource<T>>
      • addSource

        public <S> void addSource​(@NonNull
                                  androidx.lifecycle.LiveData<S> source,
                                  @NonNull
                                  androidx.lifecycle.Observer<? super S> onChanged)
        Overrides:
        addSource in class androidx.lifecycle.MediatorLiveData<Resource<T>>
      • saveRequestResult

        @WorkerThread
        protected abstract void saveRequestResult​(@NonNull
                                                  T item)
      • shouldFetch

        @MainThread
        protected boolean shouldFetch()
      • loadFromDb

        @NonNull
        @MainThread
        protected abstract androidx.lifecycle.LiveData<T> loadFromDb()
      • createNetworkRequest

        @MainThread
        protected abstract Result<T> createNetworkRequest()
      • onFetchFailed

        @MainThread
        protected void onFetchFailed()