DefaultScreenDataHolder

Default, purely in-memory ScreenDataHolder implementation — one instance per screen, built by MosaicModules.stateHolder's viewModel factory and handed navigationData at construction time (the arguments the screen was navigated to with, if any). Like DefaultApplicationDataHolder, it's two plain mutable maps with no persistence.

Parameters

navigationData

the arguments this screen instance was opened with — what getNavigationData/ getAllNavigationData read from. Immutable for the screen's whole lifetime.

Constructors

Link copied to clipboard
constructor(navigationData: Map<String, Any>)

Functions

Link copied to clipboard
open override fun addPlainData(data: Any?, dataId: String)

Writes data under dataId in this screen's flat store, overwriting any existing value. The mechanism behind UpdateData targeting screenPlainData().

Link copied to clipboard
open override fun addSegmentedData(data: Any?, segmentId: String, dataId: String)

Writes data under dataId within this screen's segmentId namespace, overwriting any existing value. The mechanism behind UpdateData targeting screenSegmentedData(segmentId).

Link copied to clipboard
open override fun getAllNavigationData(): Map<String, Any>

Every navigation argument this screen was opened with.

Link copied to clipboard
open override fun getAllPlainData(): Map<String, Any?>

Every flat entry currently stored on this screen, keyed by data id.

Link copied to clipboard
open override fun getAllSegmentedData(segmentId: String): Map<String, Any?>?

Every entry currently stored within segmentId, keyed by data id.

Link copied to clipboard
open override fun getNavigationData(dataId: String): Any?

Reads the navigation argument dataId this screen was opened with — read-only, there is no add/remove counterpart, since navigation arguments are fixed for the lifetime of a screen instance. The mechanism behind GetData's screenNavigationData() data source.

Link copied to clipboard
open override fun getPlainData(dataId: String): Any?

Reads the flat entry stored under dataId.

Link copied to clipboard
open override fun getSegmentedData(dataId: String, segmentId: String): Any?

Reads the entry stored under dataId within segmentId.

Link copied to clipboard
open override fun removePlainData(dataId: String)

Removes the flat entry stored under dataId, if any.

Link copied to clipboard
open override fun removeSegmentedData(segmentId: String, dataId: String)

Removes the entry stored under dataId within segmentId, if any.

Link copied to clipboard
open override fun wipePlainData()

Clears every flat entry on this screen.

Link copied to clipboard
open override fun wipeSegmentedData()

Clears every segment on this screen entirely — every namespace, not just one.

open override fun wipeSegmentedData(segmentId: String)

Clears every entry within segmentId on this screen, leaving other segments untouched.