2017-08-07 15:02:30 +02:00
|
|
|
package org.schabi.newpipe.database;
|
|
|
|
|
2019-10-04 14:59:08 +02:00
|
|
|
import androidx.room.Dao;
|
|
|
|
import androidx.room.Delete;
|
|
|
|
import androidx.room.Insert;
|
|
|
|
import androidx.room.OnConflictStrategy;
|
|
|
|
import androidx.room.Update;
|
2017-08-07 15:02:30 +02:00
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import io.reactivex.Flowable;
|
|
|
|
|
|
|
|
@Dao
|
|
|
|
public interface BasicDAO<Entity> {
|
|
|
|
/* Inserts */
|
2020-08-27 22:56:12 +02:00
|
|
|
@Insert(onConflict = OnConflictStrategy.ABORT)
|
2020-03-31 19:20:15 +02:00
|
|
|
long insert(Entity entity);
|
2017-08-07 15:02:30 +02:00
|
|
|
|
2020-08-27 22:56:12 +02:00
|
|
|
@Insert(onConflict = OnConflictStrategy.ABORT)
|
2020-03-31 19:20:15 +02:00
|
|
|
List<Long> insertAll(Entity... entities);
|
2017-08-07 15:02:30 +02:00
|
|
|
|
2020-08-27 22:56:12 +02:00
|
|
|
@Insert(onConflict = OnConflictStrategy.ABORT)
|
2020-03-31 19:20:15 +02:00
|
|
|
List<Long> insertAll(Collection<Entity> entities);
|
2017-08-07 15:02:30 +02:00
|
|
|
|
|
|
|
/* Searches */
|
2017-09-03 08:04:18 +02:00
|
|
|
Flowable<List<Entity>> getAll();
|
2017-08-07 15:02:30 +02:00
|
|
|
|
|
|
|
Flowable<List<Entity>> listByService(int serviceId);
|
|
|
|
|
|
|
|
/* Deletes */
|
|
|
|
@Delete
|
2020-03-31 19:20:15 +02:00
|
|
|
void delete(Entity entity);
|
2017-08-07 15:02:30 +02:00
|
|
|
|
|
|
|
@Delete
|
2020-03-31 19:20:15 +02:00
|
|
|
int delete(Collection<Entity> entities);
|
2017-08-07 15:02:30 +02:00
|
|
|
|
2017-08-12 06:50:25 +02:00
|
|
|
int deleteAll();
|
|
|
|
|
2017-08-07 15:02:30 +02:00
|
|
|
/* Updates */
|
|
|
|
@Update
|
2020-03-31 19:20:15 +02:00
|
|
|
int update(Entity entity);
|
2017-08-07 15:02:30 +02:00
|
|
|
|
|
|
|
@Update
|
2020-03-31 19:20:15 +02:00
|
|
|
void update(Collection<Entity> entities);
|
2017-08-07 15:02:30 +02:00
|
|
|
}
|