AsyncDataScopeElementBase<W extends AsyncDataScopeCore<W, E, T>, E extends AsyncDataScopeElementBase<W, E, T>, T extends Object?> class abstract base AsyncDataScope

Inheritance
Implemented types
Implementers

Constructors

AsyncDataScopeElementBase(W widget)
Creates the element of a scope producing a value.

Properties

autoSelfDependence → bool
Whether the subtree must be rebuilt on every notification.
no setterinherited
boundsDisposeScopeItself → bool
Whether disposeScope bounds the stages behind it itself.
no setterinherited
buildScope → BuildScope
A BuildScope whose dirty Elements can only be rebuilt by BuildOwner.buildScope calls whose context argument is an Element within this BuildScope.
no setterinherited
canReleaseAfterCancellation → bool
Whether there is still a scope to release a late value with.
no setterinherited
childrenCount → int
How many scopes are registered with this parent.
no setterinherited
data → T
The value the initialization produced.
no setteroverride
dataOrNull → T?
The value, or null while there is none.
no setteroverride
debugDoingBuild → bool
Whether the widget is currently updating the widget or render tree.
no setterinherited
debugIsActive → bool
Returns true if the Element is active.
no setterinherited
debugIsDefunct → bool
Returns true if the Element is defunct.
no setterinherited
debugLabel → String
The label taken while there was still a widget to take it from.
no setterinherited
depth → int
An integer that is guaranteed to be greater than the parent's, if any. The element at the root of the tree must have a depth greater than 0.
no setterinherited
dirty → bool
Returns true if the element has been marked as needing rebuilding.
no setterinherited
disposeScopeTimeout → Duration?
How long to wait for disposeScope; null takes the default.
no setterinherited
error → Object
The error of a failed initialization.
no setterinherited
hasChildren → bool
Whether any scope is registered with this parent.
no setterinherited
hasData → bool
Whether the initialization job succeeded and handed its value over.
no setteroverride
hasError → bool
Whether the initialization failed.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
initCancellationTimeout → Duration?
How long to wait for initScopeAsync to be cancelled; null takes the default.
no setterinherited
isInitialized → bool
Whether the scope has reached AsyncScopeReady.
no setterinherited
model → AsyncScopeModel
The read-only face of _model, made once.
latefinalinherited
mounted → bool
Whether the Widget this context is associated with is currently mounted in the widget tree.
no setterinherited
owner → BuildOwner?
The object that manages the lifecycle of this element.
no setterinherited
pauseAfterInitialization → Duration?
Holds the ready branch back for this long; null shows it at once.
no setteroverride
renderObject → RenderObject?
The render object at (or below) this location in the tree.
no setterinherited
renderObjectAttachingChild → Element?
Returns the child of this Element that will insert a RenderObject into an ancestor of this Element to construct the render tree.
no setterinherited
reportName → String
The widget's name rather than the element's: it is the one that carries tag, and it is the name this scope's own teardown puts in front of the same report.
no setterinherited
reportsOwnLifecycle → bool
Whether this element reports its own initialization and teardown.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scopeKey → Object?
The key this scope must hold alone, or null when it needs none.
no setteroverride
scopeKeyTimeout → Duration?
How long to wait for the scopeKey; null takes the default.
no setterinherited
size → Size?
The size of the RenderBox returned by findRenderObject.
no setterinherited
slot → Object?
Information set by parent to define where this child fits in its parent's child list.
no setterinherited
stackTrace → StackTrace
The stack trace of error.
no setterinherited
state → AsyncScopeState
The current state of the scope.
no setterinherited
timeoutCallbacks → ({void Function()? disposeScope, void Function()? initCancellation, void Function()? scopeKey, void Function()? waitForChildren})
The four callbacks of the widget, answered in one go.
no setterinherited
waitForChildrenTimeout → Duration?
How long to wait for the child scopes; null takes the default.
no setterinherited
widget → W
Keeps the widget reachable during the asynchronous disposal.
no setterinherited

Methods

activate() → void
Transition from the "inactive" to the "active" lifecycle state.
inherited
attachNotificationTree() → void
Called in Element.mount and Element.activate to register this element in the notification tree.
inherited
attachRenderObject(Object? newSlot) → void
Add renderObject to the render tree at the location specified by newSlot.
inherited
build() → Widget
Runs init once, inside the build error boundary of ComponentElement.performRebuild, and only then builds the subtree.
inherited
buildChild() → Widget
Builds what the scope shows.
inherited
buildOnState(AsyncScopeState state) → Widget
Builds the branch belonging to state.
override
deactivate() → void
Transition from the "active" to the "inactive" lifecycle state.
inherited
deactivateChild(Element child) → void
Move the given element to the list of inactive elements and detach its render object from the render tree.
inherited
debugDeactivated() → void
Called, in debug mode, after children have been deactivated (see deactivate).
inherited
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugExpectsRenderObjectForSlot(Object? slot) → bool
Whether the child in the provided slot (or one of its descendants) must insert a RenderObject into its ancestor RenderObjectElement by calling RenderObjectElement.insertRenderObjectChild on it.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
override
debugGetCreatorChain(int limit) → String
Returns a description of what caused this element to be created.
inherited
debugGetDiagnosticChain() → List<Element>
Returns the parent chain from this element back to the root of the tree.
inherited
debugVisitOnstageChildren(ElementVisitor visitor) → void
Calls the argument for each child considered onstage.
inherited
dependOnInheritedElement(InheritedElement ancestor, {Object? aspect}) → InheritedWidget
Registers this build context with ancestor such that when ancestor's widget changes this build context is rebuilt.
inherited
dependOnInheritedWidgetOfExactType<T extends InheritedWidget>({Object? aspect}) → T?
Returns the nearest widget of the given type T and creates a dependency on it, or null if no appropriate widget is found.
inherited
describeElement(String name, {DiagnosticsTreeStyle style = DiagnosticsTreeStyle.errorProperty}) → DiagnosticsNode
Returns a description of the Element associated with the current build context.
inherited
describeMissingAncestor({required Type expectedAncestorType}) → List<DiagnosticsNode>
Adds a description of a specific type of widget missing from the current build context's ancestry tree.
inherited
describeOwnershipChain(String name) → DiagnosticsNode
Adds a description of the ownership chain from a specific Element to the error report.
inherited
describeWidget(String name, {DiagnosticsTreeStyle style = DiagnosticsTreeStyle.errorProperty}) → DiagnosticsNode
Returns a description of the Widget associated with the current build context.
inherited
detachRenderObject() → void
Remove renderObject from the render tree.
inherited
didChangeDependencies() → void
The other way a rebuild arrives that is not a notification, and it has to force the subtree for the same reason update does.
inherited
dispatchNotification(Notification notification) → void
Start bubbling this notification at the given build context.
inherited
dispose() → void
Called when the element is unmounted, unless init never ran at all.
inherited
disposeData(T data) → FutureOr<void>
Releases the value the initialization produced; awaited.
disposeScope() → FutureOr<void>
Releases what initScopeAsync acquired; awaited.
override
doesDependOnInheritedElement(InheritedElement ancestor) → bool
Returns true if dependOnInheritedElement was previously called with ancestor.
inherited
findAncestorRenderObjectOfType<T extends RenderObject>() → T?
Returns the RenderObject object of the nearest ancestor RenderObjectWidget widget that is an instance of the given type T.
inherited
findAncestorStateOfType<T extends State<StatefulWidget>>() → T?
Returns the State object of the nearest ancestor StatefulWidget widget that is an instance of the given type T.
inherited
findAncestorWidgetOfExactType<T extends Widget>() → T?
Returns the nearest ancestor widget of the given type T, which must be the type of a concrete Widget subclass.
inherited
findRenderObject() → RenderObject?
The current RenderObject for the widget. If the widget is a RenderObjectWidget, this is the render object that the widget created for itself. Otherwise, it is the render object of the first descendant RenderObjectWidget.
inherited
findRootAncestorStateOfType<T extends State<StatefulWidget>>() → T?
Returns the State object of the furthest ancestor StatefulWidget widget that is an instance of the given type T.
inherited
forgetChild(Element child) → void
Remove the given child from the element's child list, in preparation for the child being reused elsewhere in the element tree.
inherited
getDependencies(Element dependent) → Object?
Returns the dependencies value recorded for dependent with setDependencies.
inherited
getElementForInheritedWidgetOfExactType<T extends InheritedWidget>() → InheritedElement?
Obtains the element corresponding to the nearest widget of the given type T, which must be the type of a concrete InheritedWidget subclass.
inherited
getInheritedWidgetOfExactType<T extends InheritedWidget>() → T?
Returns the nearest widget of the given InheritedWidget subclass T or null if an appropriate ancestor is not found.
inherited
inflateWidget(Widget newWidget, Object? newSlot) → Element
Create an element for the given widget and add it as a child of this element in the given slot.
inherited
init() → void
Called once, after the element is mounted and before its first buildChild.
inherited
initDataAsync(ScopeInitContext ctx) → Future<T>
The initialization, ending with the value.
initScopeAsync(ScopeInitContext ctx) → Future<void>
The initialization; ready at once by default.
inherited
markNeedsBuild() → void
Marks the element as dirty and adds it to the global list of widgets to rebuild in the next frame.
inherited
mount(Element? parent, Object? newSlot) → void
Add this element to the tree in the given slot of the given parent.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyClients(covariant InheritedWidget oldWidget) → void
Notifies all dependent elements that this inherited widget has changed, by calling Element.didChangeDependencies.
inherited
notifyDependent(covariant InheritedWidget oldWidget, Element dependent) → void
Called by notifyClients for each dependent.
inherited
notifyDependents() → void
Notifies the dependents of a change.
inherited
onDisposeScopeTimeout() → void
Called when the wait for disposeScope expires.
inherited
onInitCancellationTimeout() → void
Called when the wait for the cancellation of initScopeAsync expires.
inherited
onScopeKeyTimeout() → void
Called when the wait for the scopeKey expires.
inherited
onUnmount() → void
Lets go of whatever cannot wait for the asynchronous teardown.
inherited
onWaitForChildrenTimeout() → void
Called when the wait for the child scopes expires.
inherited
performRebuild() → void
Keeps the subtree as it is when the dependents only have to be notified of a change (notifyDependents).
inherited
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload.
inherited
rebuild({bool force = false}) → void
Cause the widget to update itself. In debug builds, also verify various invariants.
inherited
releaseLateData(T data) → Future<void>
Releases a value the body produced after the scope had given up.
removeDependent(Element dependent) → void
Called by Element.deactivate to remove the provided dependent Element from this InheritedElement.
inherited
runInitBody(ScopeInitContext ctx) → Future<void>
Sealed: this is where the value is caught on its way past, and the family has nothing to offer without it. The hook to write is initDataAsync; overriding this one instead would leave data empty for good, and the analyzer would say nothing about it.
override
setDependencies(Element dependent, Object? value) → void
Sets the value returned by getDependencies value for dependent.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort({bool showHashCode = false}) → String
A short, textual description of this element.
inherited
unmount() → void
Transition from the "inactive" to the "defunct" lifecycle state.
inherited
unmountScope() → void
Runs onUnmount once, whichever way out reaches it first.
inherited
update(covariant ProxyWidget newWidget) → void
Rebuilds the subtree anyway when the parent updates the element while a notify-only rebuild (notifyDependents) is pending.
inherited
updateChild(Element? child, Widget? newWidget, Object? newSlot) → Element?
Update the given child with the given new configuration.
inherited
updateChildren(List<Element> oldChildren, List<Widget> newWidgets, {Set<Element>? forgottenChildren, List<Object?>? slots}) → List<Element>
Updates the children of this element to use new widgets.
inherited
updated(covariant InheritedWidget oldWidget) → void
Calls Element.didChangeDependencies of all dependent elements, if InheritedWidget.updateShouldNotify returns true.
inherited
updateDependencies(Element dependent, Object? aspect) → void
Called by dependOnInheritedWidgetOfExactType when a new dependent is added.
inherited
updateSlot(Object? newSlot) → void
Called by updateSlotForChild when the framework needs to change the slot that this Element occupies in its ancestor.
inherited
updateSlotForChild(Element child, Object? newSlot) → void
Change the slot that the given child occupies in its parent.
inherited
visitAncestorElements(ConditionalElementVisitor visitor) → void
Walks the ancestor chain, starting with the parent of this build context's widget, invoking the argument for each ancestor.
inherited
visitChildElements(ElementVisitor visitor) → void
Wrapper around visitChildren for BuildContext.
inherited
visitChildren(ElementVisitor visitor) → void
Calls the argument for each child. Must be overridden by subclasses that support having children.
inherited
waitForChildren({Duration? timeout, void onTimeout(TimeoutException error, StackTrace stackTrace)?}) → Future<void>
Completes once the children registered with this parent at the time of the call have finished.
inherited

Operators

operator ==(Object other) → bool
Compare two widgets for equality.
inherited