update filter interface signature

feature/top10
Razmig Sarkissian 7 years ago
parent 032c2aa7ae
commit 41de2d5370
  1. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/DateFilterable.kt
  2. 4
      app/src/main/java/net/pokeranalytics/android/model/filter/Filterable.kt
  3. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/SessionFilterable.kt
  4. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/interfaces/Filterable.kt

@ -1,5 +1,6 @@
package net.pokeranalytics.android.model.filter package net.pokeranalytics.android.model.filter
import io.realm.RealmObject
import io.realm.RealmQuery import io.realm.RealmQuery
import net.pokeranalytics.android.model.filter.interfaces.Filterable import net.pokeranalytics.android.model.filter.interfaces.Filterable
import java.util.* import java.util.*
@ -37,7 +38,7 @@ enum class DateFilterable : Filterable {
} }
} }
override fun filter(realmQuery: RealmQuery<*>): RealmQuery<*> { override fun filter(realmQuery: RealmQuery<out RealmObject>): RealmQuery<out RealmObject> {
return when (this) { return when (this) {
STARTED_FROM_DATE -> { STARTED_FROM_DATE -> {
val date : Date by filterValues val date : Date by filterValues

@ -34,9 +34,9 @@ import net.pokeranalytics.android.model.filter.interfaces.Filterable
class FilterManager { class FilterManager {
fun filter(realm:Realm, relatedEntity: Class<out RealmObject>, queries:List<Filterable>): RealmResults<*> { fun filter(realm:Realm, relatedEntity: Class<out RealmObject>, queries:List<Filterable>): RealmResults<*> {
var realmQuery = realm.where(relatedEntity) var realmQuery : RealmQuery<out RealmObject> = realm.where(relatedEntity)
queries.forEach { queries.forEach {
realmQuery = (it.filter(realmQuery) as RealmQuery<out RealmObject>).and() realmQuery = (it.filter(realmQuery)).and()
} }
return realmQuery.findAll() return realmQuery.findAll()
} }

@ -1,5 +1,6 @@
package net.pokeranalytics.android.model.filter package net.pokeranalytics.android.model.filter
import io.realm.RealmObject
import io.realm.RealmQuery import io.realm.RealmQuery
import net.pokeranalytics.android.exceptions.FilterValueMapException import net.pokeranalytics.android.exceptions.FilterValueMapException
import net.pokeranalytics.android.model.filter.interfaces.Filterable import net.pokeranalytics.android.model.filter.interfaces.Filterable
@ -53,7 +54,7 @@ enum class SessionFilterable: Filterable {
} }
} }
override fun filter(realmQuery: RealmQuery<*>): RealmQuery<*> { override fun filter(realmQuery: RealmQuery<out RealmObject>): RealmQuery<out RealmObject> {
return when (this) { return when (this) {
LIVE -> realmQuery.equalTo(Field.LIVE.fieldName, true) LIVE -> realmQuery.equalTo(Field.LIVE.fieldName, true)
CASH -> realmQuery.equalTo(Field.CASH.fieldName, Session.Type.CASH_GAME.ordinal) CASH -> realmQuery.equalTo(Field.CASH.fieldName, Session.Type.CASH_GAME.ordinal)

@ -1,7 +1,8 @@
package net.pokeranalytics.android.model.filter.interfaces package net.pokeranalytics.android.model.filter.interfaces
import io.realm.RealmObject
import io.realm.RealmQuery import io.realm.RealmQuery
interface Filterable : ValueFilterable { interface Filterable : ValueFilterable {
fun filter(realmQuery: RealmQuery<*>): RealmQuery<*> fun filter(realmQuery: RealmQuery<out RealmObject>): RealmQuery<out RealmObject>
} }

Loading…
Cancel
Save