Interface EditorLink

All Known Subinterfaces:
ForeignKeyEditorLink

public sealed interface EditorLink permits ForeignKeyEditorLink (not exhaustive)

Describes how a detail EntityEditor relates to a master editor for the purposes of one-to-one entity composition.

An EditorLink is constructed via the builder() factory and registered with a master editor through EntityEditor.DetailEditors.add(EditorLink).

Two flavors are supported:

The link's load action — whichever EditorLink.DetailCondition, EditorLink.DetailSelect or EditorLink.DetailEntity was supplied — is invoked on a background thread whenever the framework needs to load the detail row: when the master's active entity changes and on EntityEditor.EditorTasks.refresh(). Implementations should not touch UI-bound editor state directly.

Presence — whether a detail row should currently exist — is observed via the detail editor's EntityEditor.present() state; the link's builder configures that state at registration time (see EditorLink.Builder.present(Predicate)).

See Also: