Service<StateT extends State, ProviderT extends RepositoryProvider> class
abstract
Base class for all services of an application. Each service is responsible for providing backend data services for a particular feature of the application. The services implements state management using the Cubit library.
Constructors
- Service.new({required StateT initialState, ProviderT? provider})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
intializedProvider
→ Future<
ProviderT> -
Returns and initialized instance
of the provider for this service.
no setter
- isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- provider → ProviderT
-
Returns a provider that does
not require initialization.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → StateT
-
The current state.
no setterinherited
-
stream
→ Stream<
StateT> -
The current stream of states.
no setterinherited
Methods
-
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
error
which triggersonError
with an optional StackTrace.inherited -
addStateMessage(
Message message) → void -
Removes the given
message
from the state -
close(
) → Future< void> -
Closes the instance.
This method should be called when the instance is no longer needed.
Once
close
is called, the instance can no longer be used.inherited -
emit(
StateT state) → void -
Updates the
state
to the providedstate
.emit
does nothing if thestate
being emitted is equal to the currentstate
.inherited -
ensureLoadingFinished(
LoadingState loadingState) → Future< void> - This method should be called when you want to wait for a particular loading state to finish.
-
ensureLoadingStarted(
LoadingState loadingState) → Future< void> - This method should be called when you want to wait for a particular loading state to start.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChange(
Change< StateT> change) → void -
Called whenever a
change
occurs with the givenchange
. Achange
occurs when a newstate
is emitted.onChange
is called before thestate
of thecubit
is updated.onChange
is a great spot to add logging/analytics for a specificcubit
.inherited -
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
error
occurs and notifiesBlocObserver.onError
.inherited -
removeStateMessage(
Message message) → void -
Removes the given
message
from the state -
setCurrentContext(
BuildContext context) → void - This method is called by from the top level of the widget tree to initialize the service's localizations so it can be applied throughout the service regardless of whether if the context is available. This method should return either itself initialized with the context or a new instance of the Service initialized with the context. This is a convenience method that allows the service to be initialized with the context without having to create a new instance and is called by the Feature class when creating BLoC providers for the service.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited