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. After this is called, the object is not in a usable state and should be discarded (calls to addListener will throw after the object is disposed).
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