RequestPersistantRepository<S extends BaseService, T> class
abstract
Repository that extends on RequestRepository by adding the ability to store its
internal state using HydratedBloc. Serialization is handled automatically
by the state and the cubit state.
Parameters:
- S: service that extends BaseService.
- T: model which represents the type of the state.
- Inheritance
-
- Object
- RequestRepository<
S, T> - RequestPersistantRepository
Constructors
- RequestPersistantRepository(S service)
Properties
- autoLoad → bool
-
Call the loadData method upon object initialization.
finalinherited
- data → T?
-
Simple data getter from the state's value.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
idis used to uniquely identify multiple instances of the sameHydratedBloctype. In most cases it is not necessary; however, if you wish to intentionally have multiple instances of the sameHydratedBloc, then you must overrideidand return a unique identifier for eachHydratedBlocinstance in order to keep the caches independent of each other.no setterinherited - isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- service → S
-
Agent that handles retrieve of pure raw information from the API or Firebase...
finalinherited
-
state
→ RequestState<
T> -
The current state.
no setterinherited
- storagePrefix → String
-
Storage prefix which can be overridden to provide a custom
storage namespace.
Defaults to runtimeType but should be overridden in cases
where stored data should be resilient to obfuscation or persist
between debug/release builds.
no setterinherited
- storageToken → String
-
storageTokenis used as registration token for hydrated storage. Composed ofstoragePrefixandid.no setterinherited -
stream
→ Stream<
RequestState< T> > -
The current stream of states.
no setterinherited
Methods
-
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
errorwhich triggersonErrorwith an optional StackTrace.inherited -
clear(
) → Future< void> -
clearis used to wipe or invalidate the cache of aHydratedBloc. Callingclearwill delete the cached state of the bloc but will not modify the current state of the bloc.inherited -
close(
) → Future< void> -
Closes the instance.
This method should be called when the instance is no longer needed.
Once
closeis called, the instance can no longer be used.inherited -
emit(
RequestState< T> state) → void -
Updates the
stateto the providedstate.emitdoes nothing if thestatebeing emitted is equal to the currentstate.inherited -
fetchData(
) → Future< T> -
Overridable method that handles data fetching and mapping.
inherited
-
fromJson(
Map< String, dynamic> json) → RequestState<T> -
Responsible for converting the
Map<String, dynamic>representation of the bloc state into a concrete instance of the bloc state. -
hydrate(
) → void -
Populates the internal state storage with the latest state.
This should be called when using the
HydratedMixindirectly within the constructor body.inherited -
loadData(
) → Future< void> -
Overridable method that handles data load from the service.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChange(
Change< RequestState< change) → voidT> > -
Called whenever a
changeoccurs with the givenchange. Achangeoccurs when a newstateis emitted. onChange is called before thestateof thecubitis updated. onChange is a great spot to add logging/analytics for a specificcubit.inherited -
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
erroroccurs and notifiesBlocObserver.onError.inherited -
toJson(
RequestState< T> state) → Map<String, dynamic> ? -
Responsible for converting a concrete instance of the bloc state
into the the
Map<String, dynamic>representation. -
toString(
) → String -
A string representation of this object.
inherited
-
valueFromJson(
Map< String, dynamic> json) → T - Method that deserialize the data in JSON form to an actual instance of the object.
-
valueToJson(
T? value) → Map< String, dynamic> ? - Method that serialize the data to a JSON form.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited