Package org.greenrobot.greendao.rx
Class RxDao<T,K>
- java.lang.Object
-
- org.greenrobot.greendao.rx.RxDao<T,K>
-
- Type Parameters:
T- Entity typeK- Primary key (PK) type; use Void if entity does not have exactly one PK
@Experimental public class RxDao<T,K> extends java.lang.Object
LikeAbstractDaobut with Rx support. Most methods from AbstractDao are present here, but will return anObservable. Modifying operations return the given entities, so they can be further processed in Rx.Instances of RxDao may have an default
Scheduler, which is used to configure returned observables withObservable.subscribeOn(Scheduler)(seeAbstractDao.rxPlain(), which uses the IO scheduler). Note: DO NOT call more than one data modification operation when you can use a transaction instead (seeRxTransaction. Individual calls use a transaction each and are much slower.- See Also:
AbstractDao.rxPlain()
-
-
Field Summary
Fields Modifier and Type Field Description protected rx.Schedulerscheduler
-
Constructor Summary
Constructors Constructor Description RxDao(AbstractDao<T,K> dao)Creates a new RxDao without a default scheduler.RxDao(AbstractDao<T,K> dao, rx.Scheduler scheduler)Creates a new RxDao with a default scheduler, which is used to configure returned observables withObservable.subscribeOn(Scheduler).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description rx.Observable<java.lang.Long>count()Rx version ofAbstractDao.count()returning an Observable.rx.Observable<java.lang.Void>delete(T entity)Rx version ofAbstractDao.delete(Object)returning an Observable.rx.Observable<java.lang.Void>deleteAll()Rx version ofAbstractDao.deleteAll()returning an Observable.rx.Observable<java.lang.Void>deleteByKey(K key)Rx version ofAbstractDao.deleteByKey(Object)returning an Observable.rx.Observable<java.lang.Void>deleteByKeyInTx(java.lang.Iterable<K> keys)Rx version ofAbstractDao.deleteByKeyInTx(Iterable)returning an Observable.rx.Observable<java.lang.Void>deleteByKeyInTx(K... keys)Rx version ofAbstractDao.deleteByKeyInTx(Object[])returning an Observable.rx.Observable<java.lang.Void>deleteInTx(java.lang.Iterable<T> entities)Rx version ofAbstractDao.deleteInTx(Iterable)returning an Observable.rx.Observable<java.lang.Void>deleteInTx(T... entities)Rx version ofAbstractDao.deleteInTx(Object[])returning an Observable.AbstractDao<T,K>getDao()The plain DAO.rx.SchedulergetScheduler()The default scheduler (or null) used for wrapping.rx.Observable<T>insert(T entity)Rx version ofAbstractDao.insert(Object)returning an Observable.rx.Observable<java.lang.Iterable<T>>insertInTx(java.lang.Iterable<T> entities)Rx version ofAbstractDao.insertInTx(Iterable)returning an Observable.rx.Observable<java.lang.Object[]>insertInTx(T... entities)Rx version ofAbstractDao.insertInTx(Object[])returning an Observable.rx.Observable<T>insertOrReplace(T entity)Rx version ofAbstractDao.insertOrReplace(Object)returning an Observable.rx.Observable<java.lang.Iterable<T>>insertOrReplaceInTx(java.lang.Iterable<T> entities)Rx version ofAbstractDao.insertOrReplaceInTx(Iterable)returning an Observable.rx.Observable<java.lang.Object[]>insertOrReplaceInTx(T... entities)Rx version ofAbstractDao.insertOrReplaceInTx(Object[])returning an Observable.rx.Observable<T>load(K key)Rx version ofAbstractDao.loadAll()returning an Observable.rx.Observable<java.util.List<T>>loadAll()Rx version ofAbstractDao.loadAll()returning an Observable.rx.Observable<T>refresh(T entity)Rx version ofAbstractDao.refresh(Object)returning an Observable.rx.Observable<T>save(T entity)Rx version ofAbstractDao.save(Object)returning an Observable.rx.Observable<java.lang.Iterable<T>>saveInTx(java.lang.Iterable<T> entities)Rx version ofAbstractDao.saveInTx(Iterable)returning an Observable.rx.Observable<java.lang.Object[]>saveInTx(T... entities)Rx version ofAbstractDao.saveInTx(Object[])returning an Observable.rx.Observable<T>update(T entity)Rx version ofAbstractDao.update(Object)returning an Observable.rx.Observable<java.lang.Iterable<T>>updateInTx(java.lang.Iterable<T> entities)Rx version ofAbstractDao.updateInTx(Iterable)returning an Observable.rx.Observable<java.lang.Object[]>updateInTx(T... entities)Rx version ofAbstractDao.updateInTx(Object[])returning an Observable.protected <R> rx.Observable<R>wrap(java.util.concurrent.Callable<R> callable)protected <R> rx.Observable<R>wrap(rx.Observable<R> observable)
-
-
-
Constructor Detail
-
RxDao
@Experimental public RxDao(AbstractDao<T,K> dao)
Creates a new RxDao without a default scheduler.
-
RxDao
@Experimental public RxDao(AbstractDao<T,K> dao, rx.Scheduler scheduler)
Creates a new RxDao with a default scheduler, which is used to configure returned observables withObservable.subscribeOn(Scheduler).
-
-
Method Detail
-
loadAll
@Experimental public rx.Observable<java.util.List<T>> loadAll()
Rx version ofAbstractDao.loadAll()returning an Observable.
-
load
@Experimental public rx.Observable<T> load(K key)
Rx version ofAbstractDao.loadAll()returning an Observable.
-
refresh
@Experimental public rx.Observable<T> refresh(T entity)
Rx version ofAbstractDao.refresh(Object)returning an Observable. Note that the Observable will emit the given entity back to its subscribers.
-
insert
@Experimental public rx.Observable<T> insert(T entity)
Rx version ofAbstractDao.insert(Object)returning an Observable. Note that the Observable will emit the given entity back to its subscribers.
-
insertInTx
@Experimental public rx.Observable<java.lang.Iterable<T>> insertInTx(java.lang.Iterable<T> entities)
Rx version ofAbstractDao.insertInTx(Iterable)returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
insertInTx
@Experimental public rx.Observable<java.lang.Object[]> insertInTx(T... entities)
Rx version ofAbstractDao.insertInTx(Object[])returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
insertOrReplace
@Experimental public rx.Observable<T> insertOrReplace(T entity)
Rx version ofAbstractDao.insertOrReplace(Object)returning an Observable. Note that the Observable will emit the given entity back to its subscribers.
-
insertOrReplaceInTx
@Experimental public rx.Observable<java.lang.Iterable<T>> insertOrReplaceInTx(java.lang.Iterable<T> entities)
Rx version ofAbstractDao.insertOrReplaceInTx(Iterable)returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
insertOrReplaceInTx
@Experimental public rx.Observable<java.lang.Object[]> insertOrReplaceInTx(T... entities)
Rx version ofAbstractDao.insertOrReplaceInTx(Object[])returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
save
@Experimental public rx.Observable<T> save(T entity)
Rx version ofAbstractDao.save(Object)returning an Observable. Note that the Observable will emit the given entity back to its subscribers.
-
saveInTx
@Experimental public rx.Observable<java.lang.Iterable<T>> saveInTx(java.lang.Iterable<T> entities)
Rx version ofAbstractDao.saveInTx(Iterable)returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
saveInTx
@Experimental public rx.Observable<java.lang.Object[]> saveInTx(T... entities)
Rx version ofAbstractDao.saveInTx(Object[])returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
update
@Experimental public rx.Observable<T> update(T entity)
Rx version ofAbstractDao.update(Object)returning an Observable. Note that the Observable will emit the given entity back to its subscribers.
-
updateInTx
@Experimental public rx.Observable<java.lang.Iterable<T>> updateInTx(java.lang.Iterable<T> entities)
Rx version ofAbstractDao.updateInTx(Iterable)returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
updateInTx
@Experimental public rx.Observable<java.lang.Object[]> updateInTx(T... entities)
Rx version ofAbstractDao.updateInTx(Object[])returning an Observable. Note that the Observable will emit the given entities back to its subscribers.
-
delete
@Experimental public rx.Observable<java.lang.Void> delete(T entity)
Rx version ofAbstractDao.delete(Object)returning an Observable.
-
deleteByKey
@Experimental public rx.Observable<java.lang.Void> deleteByKey(K key)
Rx version ofAbstractDao.deleteByKey(Object)returning an Observable.
-
deleteAll
@Experimental public rx.Observable<java.lang.Void> deleteAll()
Rx version ofAbstractDao.deleteAll()returning an Observable.
-
deleteInTx
@Experimental public rx.Observable<java.lang.Void> deleteInTx(java.lang.Iterable<T> entities)
Rx version ofAbstractDao.deleteInTx(Iterable)returning an Observable.
-
deleteInTx
@Experimental public rx.Observable<java.lang.Void> deleteInTx(T... entities)
Rx version ofAbstractDao.deleteInTx(Object[])returning an Observable.
-
deleteByKeyInTx
@Experimental public rx.Observable<java.lang.Void> deleteByKeyInTx(java.lang.Iterable<K> keys)
Rx version ofAbstractDao.deleteByKeyInTx(Iterable)returning an Observable.
-
deleteByKeyInTx
@Experimental public rx.Observable<java.lang.Void> deleteByKeyInTx(K... keys)
Rx version ofAbstractDao.deleteByKeyInTx(Object[])returning an Observable.
-
count
@Experimental public rx.Observable<java.lang.Long> count()
Rx version ofAbstractDao.count()returning an Observable.
-
getDao
@Experimental public AbstractDao<T,K> getDao()
The plain DAO.
-
getScheduler
@Experimental public rx.Scheduler getScheduler()
The default scheduler (or null) used for wrapping.
-
wrap
protected <R> rx.Observable<R> wrap(java.util.concurrent.Callable<R> callable)
-
wrap
protected <R> rx.Observable<R> wrap(rx.Observable<R> observable)
-
-