where { has(...) }.filter { ... }.
sealed class FilteredCachedQueryNode
filterData
: CachedQueryFilterData?
[Get] |
Signature
abstract val filterData: CachedQueryFilterData? |
queryNode
: CachedQueryNode
[Get] |
Signature
abstract val queryNode: CachedQueryNode |
where { ... }.
filter method, ensuring filters can only be applied after using where.
data class Unfiltered(val queryNode: CachedQueryNode) : FilteredCachedQueryNode
Unfiltered
(
queryNode
)
|
Signature
constructor(queryNode: CachedQueryNode) Parameters
queryNode:
CachedQueryNode Returns
FilteredCachedQueryNode.Unfiltered
|
filterData
: CachedQueryFilterData?
[Get] |
Signature
open override val filterData: CachedQueryFilterData? = null |
queryNode
: CachedQueryNode
[Get] |
Signature
open override val queryNode: CachedQueryNode |
filter
(
initializer
)
|
Applies a filter to this query node.
Filters are evaluated at the native level for both initial queries and incremental updates. Only entities that match both the query criteria AND the filter condition will be included.
Example:
CachedQuery.create {
where { has(Enemy.id) }.filter { by(Enemy.statusData).isEqualTo(Status.ACTIVE) }
}
Signature
fun filter(initializer: FilterBuilder.() -> FilterNode): FilteredCachedQueryNode.Filtered Parameters Returns
FilteredCachedQueryNode.Filtered
|
data class Filtered(val queryNode: CachedQueryNode, val filterData: CachedQueryFilterData) : FilteredCachedQueryNode
Filtered
(
queryNode
, filterData
)
|
Signature
constructor(queryNode: CachedQueryNode, filterData: CachedQueryFilterData) Parameters
queryNode:
CachedQueryNode
filterData:
CachedQueryFilterData Returns
FilteredCachedQueryNode.Filtered
|
filterData
: CachedQueryFilterData
[Get] |
Signature
open override val filterData: CachedQueryFilterData |
queryNode
: CachedQueryNode
[Get] |
Signature
open override val queryNode: CachedQueryNode |