MockController<E, S> class
Extend or mixin this class to mark the implementation as a MockController.
A mocked controller implements all fields and methods with a default implementation that does not throw a NoSuchMethodError, and may be further customized at runtime to define how it may behave using when.
Note: It is critical to explicitly provide the event and state types when extending MockController.
GOOD
class MockCounterController extends MockController<CounterEvent, int>
implements CounterController {}
BAD
class MockCounterController extends MockController implements CounterController {}
- Inheritance
- Implemented types
-
- GetxController
- Available Extensions
Constructors
- MockController()
- Extend or mixin this class to mark the implementation as a MockController.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
no setterinherited
- initialized → bool
-
Checks whether the controller has already been initialized.
no setterinherited
- isClosed → bool
-
Checks whether the controller has already been closed.
no setterinherited
- listeners → int
-
no setterinherited
-
onDelete
→ InternalFinalCallback<
void> -
Internal callback that starts the cycle of this controller.
finalinherited
-
onStart
→ InternalFinalCallback<
void> -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclases.
This method should be internal and is required to define the
lifetime cycle of the subclass.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
rxState
→ Rx<
S> -
The current rxState.
latefinalinherited
- state → S
-
The current state.
no setterinherited
-
stream
→ Stream<
S> -
The current state stream.
no setterinherited
Methods
-
$configureLifeCycle(
) → void -
inherited
-
add(
E event) → void -
Notifies the
Controller
of a newevent
which triggers mapEventToState. If onClose has already been called, any subsequent calls to add will be ignored and will not result in any subsequent state changes.inherited -
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
error
which triggers onError with an optional StackTrace.inherited -
addListener(
GetStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, GetStateUpdate listener) → Disposer -
inherited
-
dispose(
) → void -
inherited
-
disposeId(
Object id) → void -
To dispose an
id
from future updates(), this ids are registered byGetBuilder()
or similar, so is a way to unlink the state change with the Widget from the Controller.inherited -
emit(
S state) → void -
Updates the
state
to the providedstate
. emit does nothing if the instance has been closed or if thestate
being emitted is equal to the currentstate
.inherited -
mapEventToState(
E event) → Stream< S> -
Must be implemented when a class extends
Controller
. mapEventToState is called whenever anevent
is added and is responsible for converting thatevent
into a new state. mapEventToState canyield
zero, one, or multiple states for an event.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyChildrens(
) → void -
inherited
-
onChange(
StateChange< S> change) → void -
Called whenever a
change
occurs with the givenchange
. Achange
occurs when a newstate
is emitted. onChange is called before thestate
of theStateController
is updated. onChange is a great spot to add logging/analytics for a specificStateController
.inherited -
onClose(
) → Future< void> -
Closes the instance.
This method should be called when the instance is no longer needed.
Once onClose is called, the instance can no longer be used.
inherited
-
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
error
occurs and notifiesObserverController.onError
.inherited -
onEvent(
E event) → void -
Called whenever an
event
is added to theController
. A great spot to add logging/analytics at the individualController
level.inherited -
onInit(
) → void -
Called immediately after the widget is allocated in memory.
You might use this to initialize something for the controller.
inherited
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
onTransform(
TransformController< E, S> transition) → void -
Called whenever a
transition
occurs with the giventransition
. Atransition
occurs when a newevent
is added and mapEventToState executed. onTransform is called before aController
's state has been updated. A great spot to add logging/analytics at the individualController
level.inherited -
refresh(
) → void -
inherited
-
refreshGroup(
Object id) → void -
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
transformEvents(
Stream< E> events, TransitionFunction<E, S> transitionFn) → Stream<TransformController< E, S> > -
Transforms the
events
stream along with atransitionFn
function into aStream<Transition>
. Events that should be processed by mapEventToState need to be passed totransitionFn
. By defaultasyncExpand
is used to ensure allevents
are processed in the order in which they are received. You can override transformEvents for advanced usage in order to manipulate the frequency and specificity with which mapEventToState is called as well as whichevents
are processed.inherited -
transformTransitions(
Stream< TransformController< transitions) → Stream<E, S> >TransformController< E, S> > -
Transforms the
Stream<Transition>
into a newStream<Transition>
. By default transformTransitions returns the incomingStream<Transition>
. You can override transformTransitions for advanced usage in order to manipulate the frequency and specificity at whichtransitions
(state changes) occur.inherited -
update(
[List< Object> ? ids, bool condition = true]) → void -
Rebuilds
GetBuilder
each time you callupdate()
; Can take a List ofids
, that will only update the matchingGetBuilder( id: )
,ids
can be reused amongGetBuilders
like group tags. The update will only notify the Widgets, ifcondition
is true.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited