api-generator-templates/Java/blocks/class/dao.twig

39 lines
1.1 KiB
Twig

{%- import '../../utils.twig' as utils -%}
{%- if (storageAttributes is not null) %}
@androidx.room.Dao
public interface Dao {
@NonNull
@Query("SELECT * FROM {{ default(storageAttributes.tableName, type.baseTypeName) }}")
List<{{ type.baseTypeName }}> get();
@NonNull
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(@NonNull final Iterable<{{ type.baseTypeName }}> list);
@NonNull
@Delete
void delete(@NonNull final Iterable<{{ type.baseTypeName }}> list);
@Query("DELETE FROM {{ default(storageAttributes.tableName, type.baseTypeName) }}")
void clear();
}
@androidx.room.Dao
public interface ReactiveDao extends Dao {
@NonNull
@Query("SELECT * FROM {{ default(storageAttributes.tableName, type.baseTypeName) }}")
Flowable<List<{{ type.baseTypeName }}>> observe();
@NonNull
@Query("SELECT * FROM {{ default(storageAttributes.tableName, type.baseTypeName) }}")
Single<List<{{ type.baseTypeName }}>> getSingle();
}
{%- endif -%}