Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 4.96 KB

File metadata and controls

53 lines (38 loc) · 4.96 KB

poul / com.sophoun.query / QueryBuilder

QueryBuilder

abstract class QueryBuilder<I, O, T>

This is a super class that provide functionality to sub class to make it easy use contentResolver to query android database

Parameters

I - -> type of value that mapper function receive

O - -> type of value that mapper function return

T - -> type of value that pass to onResult(T) function

Constructors

Name Summary
<init> QueryBuilder(contentResolver: <ERROR CLASS>)
This is a super class that provide functionality to sub class to make it easy use contentResolver to query android database

Properties

Name Summary
contentResolver val contentResolver: <ERROR CLASS>
selection var selection: String?
selectionArgs var selectionArgs: Array<out String>?
uri var uri: <ERROR CLASS>?

Functions

Name Summary
execute abstract fun execute(): Unit
Execute the query builder. Result wills callback:
mapper fun mapper(mapper: (I) -> O): QueryBuilder<I, O, T>
Map each object from cursor to T
onCompleted fun onCompleted(onCompleted: () -> Unit): QueryBuilder<I, O, T>
After all process completed
onError fun onError(onError: (Exception) -> Unit): QueryBuilder<I, O, T>
When something happen during process
onResult fun onResult(onResult: (T) -> Unit): QueryBuilder<I, O, T>
After collected result
selection fun selection(selection: String): QueryBuilder<I, O, T>
Selection condition
selectionArgs fun selectionArgs(vararg selectionArgs: String): QueryBuilder<I, O, T>
Selection arguments
uri fun uri(uri: <ERROR CLASS>): QueryBuilder<I, O, T>
Uri to query

Inheritors

Name Summary
DeleteQueryBuilder class DeleteQueryBuilder : QueryBuilder<Void, Void, Int>
This class can use for delete data from android using ContentProvider
InsertQueryBuilder class InsertQueryBuilder : QueryBuilder<Any?, List<<ERROR CLASS>>, Int>
This class can use for insert a list of data to android database using ContentProvider
SelectQueryBuilder class SelectQueryBuilder<T> : QueryBuilder<<ERROR CLASS>, T, List<T>>
This class use for query data from android database using ContentProvider
UpdateQueryBuilder class UpdateQueryBuilder : QueryBuilder<Any?, <ERROR CLASS>, Int>
This class can use for update data on android database using ContentProvider