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 type
  • S is cubit state type (same as the regular Cubit)
Inheritance

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 provided state. emit does nothing if the state being emitted is equal to the current state.
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 given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
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