ObjectCubit<O, S> class
abstract
An ObjectCubit is an implementation of a Cubit designed to handle the lifecycle of a single object. This is specifically effective to track business objects as you might want to update them while still tracking the same Cubit. ObjectCubit ensures that you can get the last version registered version of the tracked object at anytime, regardless of the current cubit state. ObjectCubit uses two generic types:
O
is the tracked object typeS
is cubit state type (same as the regular Cubit)
Constructors
- ObjectCubit.new(S initialState)
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- object ↔ O?
-
returns the last registered value of the tracked object
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → S
-
The current state.
no setterinherited
-
stream
→ Stream<
S> -
The current stream of states.
no setterinherited
Methods
-
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
error
which triggers onError with an optional StackTrace.inherited -
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.
override
-
emit(
S state) → void -
Updates the
state
to the providedstate
. emit does nothing if thestate
being emitted is equal to the currentstate
.inherited -
getObject(
S state) → O? - get the value of the object from a specific state. If the given state does not track the object, just return null.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChange(
Change< S> 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 notifies BlocObserver.onError.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
update(
O object) → void - use this convenience method to update the tracked object from an external source
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited