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:
Ois the tracked object typeSis cubit state type (same as the regular Cubit)
Constructors
- ObjectCubit(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
errorwhich 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
stateto the providedstate. emit does nothing if thestatebeing 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
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 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