Skip to content

Interfaces

Mateu defines a set of Java interfaces that your classes implement to plug into the framework’s rendering, routing, data-loading, and action-handling pipelines.

InterfaceDescription
ComponentTreeSupplierImplement to provide a custom component tree for a route
ComponentAdapterRender an arbitrary non-Mateu domain object and round-trip it back from state
TitleSupplierProvides the page title dynamically
SubtitleSupplierProvides the page subtitle dynamically
PageTitleSupplierProvides the browser tab title dynamically
InterfaceDescription
MenuSupplierProvides the application navigation menu
ActionableA navigable menu item or action link
SubmenuMarker interface for submenu containers
AppMarker interface for application root classes
InterfaceDescription
ListingBackendProvides paginated, searchable, filterable data for a grid
ReactiveListingBackendReactive (Reactor) variant of ListingBackend
DataSupplierProvides arbitrary data to the component
CommandSupplierProvides UI commands to execute on the client side
PostHydrationHandlerCalled after the server re-hydrates component state
HydratableTakes full control of hydration, bypassing automatic field injection from request state
StateSupplierProvides a custom object as the component state sent to the client, overriding the default (the ViewModel itself)
InterfaceDescription
ActionHandlerHandles named actions triggered from the UI
RouteHandlerHandles navigation requests for a route
HttpRequestProvides access to request context, parameters, and state
ActionSupplierProvides the list of named actions exposed by a component, controlling which actions are available
ButtonsSupplierProvides the full list of page buttons, replacing annotation-based button discovery
ToolbarSupplierProvides the full list of toolbar items, replacing annotation-based toolbar discovery
InterfaceDescription
CrudRepositoryBasic CRUD operations for an entity
CrudAdapterFull CRUD + listing adapter with separate view/editor forms
InterfaceDescription
ValidationSupplierProvides cross-field validations programmatically
RuleSupplierProvides conditional UI rules programmatically
InterfaceDescription
VisibilitySupplierControls server-side visibility of fields, columns, buttons, and toolbar items dynamically at request time
DisabledSupplierControls server-side disabled state of fields, buttons, and toolbar items dynamically at request time
ReadOnlySupplierControls server-side read-only state of fields dynamically at request time
RequiredSupplierControls server-side required state of fields dynamically at request time
StyleSupplierProvides field-level CSS styles dynamically at request time, overriding @Style
DescriptionSupplierProvides field-level help/description text dynamically at request time, overriding @Help
LabelSupplierProvides field-level label text dynamically at request time, overriding @Label
ColspanSupplierProvides field-level colspan dynamically at request time, overriding @Colspan
StereotypeSupplierProvides field-level stereotype dynamically at request time, overriding @Stereotype
OptionsSupplierProvides the selectable options for a field dynamically at request time