Package-level declarations
Types
Implemented by objects whose compatibility requires more nuance than just being of the same type.
A rendering that can be decomposed to a sequence of others.
Pairs a content rendering with a environment to support its display. Typically the rendering type (RenderingT
) of the root of a UI workflow, but can be used at any point to modify the ViewEnvironment received from a parent view.
Allows Screen renderings that do not implement Compatible themselves to be distinguished by more than just their type. Instances are compatible if they have the same name and have compatible fields.
Helper class for keeping a workflow in sync with editable text in a UI, without interfering with the user's typing.
A rendering that wraps another that is actually the interesting bit (read: the visible bit), particularly from a logging or testing point of view.
Immutable map of values that a parent view can pass down to its children. Allows containers to give descendants information about the context in which they're drawing.
Defines a value type T that can be provided by a ViewEnvironment map, and specifies its default value.
The ViewEnvironment service that can be used to display the stream of renderings from a workflow tree as View instances. This is the engine behind AndroidViewRendering, WorkflowViewStub and ViewFactory. Most apps can ignore ViewRegistry as an implementation detail, by using AndroidViewRendering to tie their rendering classes to view code.
A Container rendering that wraps exactly one other rendering, its content. These are typically used to "add value" to the content, e.g. an EnvironmentScreen that allows changes to be made to the ViewEnvironment.
Functions
Normally returns true if me and you are instances of the same class. If that common class implements Compatible, both instances must also have the same Compatible.compatibilityKey.
Returns a new ViewEnvironment that adds registry to the receiver. If the receiver already has a ViewRegistry, ViewEnvironmentKey.combine is applied as usual to merge its entries.
Transforms the receiver to add all entries from other.
Transforms the receiver to add entry, throwing IllegalArgumentException if the receiver already has a matching entry. Use merge to replace an existing entry with a new one.
Create instance for default implementation of TextController.
Handy for logging and testing, extracts the "topmost" bit from a receiving workflow rendering, honoring Unwrappable if applicable.
Returns a ViewRegistry that contains no bindings.
Returns an EnvironmentScreen derived from the receiver, whose EnvironmentScreen.environment includes the values in the given environment.
Returns an EnvironmentScreen derived from the receiver, whose EnvironmentScreen.environment includes the given entry.
Returns an EnvironmentScreen derived from the receiver, whose EnvironmentScreen.environment includes viewRegistry.