horda_client library

Classes

ActorEventWsMsg
ActorViewSub
AnalyticsService
Service interface for reporting analytics events.
AttributeChange
Base class for changes to attributes attached to referenced entities.
AuthProvider
Provider interface for authentication events.
AuthStateIncognito
AuthStateLoggedIn
AuthStateValidating
CallCommandResWsMsg
CallCommandWsMsg
Message for calling commands and waiting for responses.
Change
Base class for all view changes in the Horda platform.
ChangeEnvelop
Envelope containing view changes and their routing metadata.
ChangeId
Unique identifier for changes in the distributed message system.
ChangeRecord
Record of a view change with its state version.
CommandEnvelop
Envelope containing a command and its routing metadata.
CompositeId
Identifier composed of two entity IDs for representing relationships.
ConnectionStateConnected
Successfully connected to the Horda backend.
ConnectionStateConnecting
Initial connection attempt is in progress.
ConnectionStateDisconnected
Connection is closed and not attempting to reconnect.
ConnectionStateReconnected
Successfully reconnected after a connection loss.
ConnectionStateReconnecting
Attempting to reconnect after a connection loss.
CounterAttrDecremented
Change representing a counter attribute on a referenced entity being decremented.
CounterAttrIncremented
Change representing a counter attribute on a referenced entity being incremented.
CounterAttrReset
Change representing a counter attribute on a referenced entity being reset.
CounterQueryDef
Query definition for counter views.
CounterQueryResult
Query result for counter views.
CounterViewChange
Base class for changes to counter views.
CounterViewDecremented
Change representing a decrement operation on a counter view.
CounterViewIncremented
Change representing an increment operation on a counter view.
CounterViewReset
Change representing a reset operation on a counter view.
DateTimeJsonConverter
JSON converter for DateTime objects in the Horda platform.
DevtoolEventLog
This class is used to store and provide DevtoolFluirEvents for the devtool.
It communicates with the devtool by posting DevtoolExtensionEvents where the payload is a DevtoolFluirEvent.
DevtoolExtensionEvent
An event which is sent to Devtools form the inspected application.
DevtoolExtensionFluirEventAdded
A devtool event which logs and processes a DevtoolFluirEvent.
DevtoolExtensionLoaded
The Load/Reload event which completely reloads the devtool.
DevtoolFluirEvent
Any Fluir related event which should be logged and processed by the devtool.
E.g.: host was created, host projected an event, host was stopped, etc.
DevtoolFluirHostCreated
DevtoolFluirHostProjected
DevtoolFluirHostStopped
DispatchEventResWsMsg
DispatchEventWsMsg
Message for dispatching events to trigger business processes.
DispatchLabels
Analytics labels for event dispatch operations.
DurationJsonConverter
JSON converter for Duration objects in the Horda platform.
EmptyQuery
Empty query implementation that retrieves no views.
EntityCounterView<T>
View for accessing counter values that support increment/decrement operations.
EntityDateTimeView
Specialized view for accessing DateTime values from entities.
EntityListView<S extends EntityQuery>
View for accessing lists of related entities.
EntityQuery
Base class for defining entity queries in the Horda Client SDK.
EntityQueryCounterHandlerBuilder<Q extends EntityQuery>
Builder for setting up counter change handlers on entity queries.
EntityQueryDependencyBuilder<Q extends EntityQuery>
Builder for accessing entity query data with automatic dependency tracking.
EntityQueryGroup
Interface for collecting entity views in a query.
EntityQueryListHandlerBuilder<Q extends EntityQuery>
Builder for setting up list change handlers on entity queries.
EntityQueryProvider
Provider widget that runs entity queries and provides results to child widgets.
EntityQueryRefHandlerBuilder<Q extends EntityQuery>
Builder for setting up reference change handlers on entity queries.
EntityQueryValueHandlerBuilder<Q extends EntityQuery, T>
Builder for setting up value change handlers on entity queries.
EntityRefView<S extends EntityQuery>
View for accessing references to other entities.
EntityValueView<T>
View for accessing single typed values from entities.
EntityView
Base class for all entity view types.
ErrorTrackingService
Service interface for reporting errors to external tracking systems.
ErrorWsMsg
EventEnvelop
Envelope containing an event and its metadata.
FlowCallReplyEnvelop
Envelope containing a reply from a business process call.
FlowCallReplyErr
Error reply from a business process call.
FlowCallReplyOk
Successful reply from a business process call.
FlowRunEnvelop
Envelope for triggering business process execution.
FluirErrorEvent
Error event representing a failure in the Horda platform.
ForwardPagination
Forward pagination parameters for list views.
HordaAuthState
HordaClientSystem
Main client system for managing connection and communication with Horda backend.
HordaConnectionState
Represents the current state of the WebSocket connection to the Horda backend.
HordaEntity
HordaEntityContext
HordaEntityHandlers
HordaProcess
HordaProcessContext
HordaProcessElement
HordaProcessHandlers
HordaSystemProvider
ListItem
A single item in a list view with its position and referenced entity ID.
ListPageChange
Base class for changes to list pages during pagination synchronization.
ListPageCleared
Page sync change representing a list page being cleared.
ListPageItemAdded
Page sync change representing an item added to a list page.
ListPageItemRemoved
Page sync change representing an item removed from a list page.
ListQueryDef
Query definition for list views.
ListQueryDefBuilder
Builder for list view query definitions.
ListQueryResult
Query result for list views.
ListQueryResultBuilder
Builder for list query results.
ListViewChange
Base class for changes to list views.
ListViewCleared
Change representing all items being removed from a list view.
ListViewItemAdded
Change representing an item being added to a list view.
ListViewItemChanged
Change representing an item in a list view being replaced with another.
ListViewItemMoved
Change representing an item in a list view being moved to a new position.
ListViewItemRemoved
Change representing an item being removed from a list view.
LocalCommand
LocalEvent
LocalMessage
MaybeEntityQueryDependencyBuilder<Q extends EntityQuery>
Builder for accessing potentially null entity query data.
Message
Base class for all messages in the Horda platform.
MessageLabels
Base interface for analytics message labels.
Pagination
Base class for list view pagination.
ProcessResult
Result of business process execution.
ProxyEntity
QueryAndSubscribeWsMsg
Message requesting an atomic query and subscribe operation on an entity's views.
QueryDef
Definition of a query to retrieve entity view data.
QueryDefBuilder
Builder for constructing QueryDef objects programmatically.
QueryListViewChange
Base class for query list view changes.
QueryListViewItemAdded
Change representing an item being added to a query list view with position.
QueryListViewItemRemoved
Change representing an item being removed from a query list view with position.
QueryResult
Result of executing a query against entity views.
QueryResultBuilder
Builder for constructing QueryResult objects programmatically.
QueryResultWsMsg
Message containing the results of a query request.
QueryWsMsg
Message requesting a query on an entity's views.
RefQueryDef
Query definition for reference views.
RefQueryDefBuilder
Builder for reference view query definitions.
RefQueryResult
Query result for reference views.
RefQueryResultBuilder
Builder for reference query results.
RefValueAttributeChanged
Change representing a value attribute on a referenced entity being updated.
RefViewChange
Base class for changes to reference views.
RefViewChanged
Change representing a new entity reference being set in a reference view.
RemoteCommand
Base class for command messages in the entity-command-event architecture.
RemoteEvent
Base class for event messages in the entity-command-event architecture.
RemoteMessage
Base class for messages that can be serialized and transmitted over the network.
ReplyClient
Information for routing command replies back to clients.
ReplyFlow
Information for routing command replies back to business processes.
ReversePagination
Reverse pagination parameters for list views.
SendCallLabels
Analytics labels for send/call operations.
SendCommandAckWsMsg
SendCommandWsMsg
Message for sending commands to entities or services.
SubscribeActorResWsMsg
SubscribeActorWsMsg
SubscribeViewsAckWsMsg
SubscribeViewsWsMsg
TestAuthEvent
TestAuthProvider
Test implementation of AuthProvider for unit testing.
TestHordaClientSystem
Test implementation of HordaClientSystem for unit testing.
UnsubscribeActorResWsMsg
UnsubscribeActorWsMsg
UnsubscribeViewsResWsMsg
UnsubscribeViewsWsMsg
ValueQueryDef
Query definition for value views.
ValueQueryDefBuilder
Builder for value view query definitions.
ValueQueryResult
Query result for value views.
ValueQueryResultBuilder
Builder for value query results.
ValueViewChange
Base class for changes to value views.
ValueViewChanged<T>
Change representing a new value being set in a typed value view.
ValueViewChangedHandler<T>
A wrapper for ValueViewChanged handler. It's purpose is to make a properly typed ValueViewChanged before passing it to the handler.
ViewChangeWsMsg
ViewQueryDef
Base class for defining queries on specific view types.
ViewQueryDefBuilder
Base class for building view-specific query definitions.
ViewQueryResult
Base class for view-specific query results.
ViewQueryResultBuilder
Base class for building view-specific query results.
ViewSnapshot
Snapshot of a view's current value with version information.
WelcomeWsMsg
Welcome message sent by server after WebSocket connection establishment.
WidgetEntity
WidgetEntityState<T extends WidgetEntity>
WsMessage
Base class for all WebSocket messages in the Horda platform.
WsMessageBox
Container for WebSocket messages with unique identification.

Enums

EntityQueryState
States that an entity query can be in during its lifecycle.
HordaModelAspect

Mixins

ChangeHandlerState<T extends StatefulWidget>
State which unregisters it's ChangeHandlers on dispose.

Extensions

Compare on String
Extension adding comparison operators to String for entity ID ordering.
EntityViewQueryExtensions on BuildContext
Extension providing entity query functionality for Flutter widgets.
HordaModelExtensions on BuildContext
Extension providing authentication and connection state access for Flutter widgets.
ListQueryDefBuilderManual on ListQueryDefBuilder
Extension providing convenient methods for list query builders.
ListQueryResultBuilderManual on Map<double, ({QueryResultBuilder query, EntityId refId})>
LocalMessageExtensions on BuildContext
Extension for dispatching local messages within the Flutter app.
QueryDefBuilderManual on QueryDefBuilder
Extension providing convenient methods for building query definitions.
QueryResultBuilderManual on QueryResultBuilder
RefQueryDefBuilderManual on RefQueryDefBuilder
Extension providing convenient methods for reference query builders.
RemoteMessageExtensions on BuildContext
Extension for sending remote messages to the Horda backend.

Constants

kDevtoolExtensionKindPrefix → const String
An ExtensionKind prefix specifically for the fluir_client devtool.
kSingletonId → const String
The constant ID used for all singleton entities.

Properties

kMsgFromJsonFac Map<String, FromJsonFun>
Global registry of message deserialization factories.
final

Functions

dateTimeConvert(String viewName, dynamic val, bool isUtc, bool isNullable) DateTime?
kMessageFromJson(String type, Map<String, dynamic> json) → dynamic
kRegisterFluirMessage() → void
kRegisterMessageFactory<T extends Message>(FromJsonFun<T> fun) → void

Typedefs

ChangeHandler<C extends Change> = void Function(C change)
Handler function for reacting to specific view changes.
CommandId = int
Unique identifier for command messages.
CounterSelector<Q extends EntityQuery> = EntityCounterView Function(Q q)
Selector function for accessing counter views within entity queries.
EntityId = String
Unique identifier for entities in the Horda platform.
FromJsonFun<T> = T Function(Map<String, dynamic> json)
Function signature for deserializing JSON objects to typed instances.
HordaEntityHandler<C extends LocalCommand> = Future<void> Function(C cmd, HordaEntityContext context)
HordaProcessLocalHandler<E extends LocalEvent> = Future<void> Function(E event, HordaProcessContext context)
ListItemSelector<L extends EntityQuery, I extends EntityQuery> = EntityListView<I> Function(L q)
Selector function for accessing individual items within list views.
ListSelector<Q extends EntityQuery> = EntityListView<EntityQuery> Function(Q q)
Selector function for accessing list views within entity queries.
RefIdNamePair = ({String itemId, String name})
Type alias for identifying attributes attached to referenced entities.
RefIdSelector<Q extends EntityQuery> = EntityRefView<EntityQuery> Function(Q q)
Selector function for accessing reference view IDs within entity queries.
RefSelector<P extends EntityQuery, C extends EntityQuery> = EntityRefView<C> Function(P q)
Selector function for accessing reference views within entity queries.
ValueSelector<Q extends EntityQuery, T> = EntityValueView<T> Function(Q q)
Selector function for accessing value views within entity queries.
ValueViewConvertFunc<T> = T? Function(dynamic val)
Function type for converting raw values to specific types.
ViewConvertFunc = dynamic Function(dynamic val)
Function type for converting raw view values to typed values.

Exceptions / Errors

FluirError
Error class for exceptions within the Horda platform.