QueryController<T> class

Controls the fetching, caching, and state management of a query.

Inheritance

Constructors

QueryController({required String queryKey, required QueryCache cache, QueryState<T>? initialState})
Creates a new QueryController.

Properties

cache → QueryCache
The cache used to store this controller.
final
hashCode → int
The hash code for this object.
no setterinherited
hasListeners → bool
Whether any listeners are currently registered.
no setterinherited
queryKey → String
The unique key associated with this query.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
value ↔ QueryState<T>
The current value stored in this notifier.
getter/setter pairinherited

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
override
dispose() → void
Discards any resources used by the object.
override
fetch({required Future<T> fetcher(), Duration staleTime = Duration.zero, Duration cacheTime = const Duration(minutes: 5), int retries = 3}) → Future<T>
Fetches data using the provided fetcher and configuration.
isFresh(Duration staleTime) → bool
Determines if the cached data is fresh based on the provided staleTime.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
refetch() → Future<T>?
Refetches the query using the most recent fetcher and configuration.
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
override
setData(T data) → void
Manually sets the query data to data and marks the query as successful.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited