Table of Contents

Class ScreenCatalogDefinitionBuilder

Namespace
MackySoft.Navigathena
Assembly
MackySoft.Navigathena.dll

Defines root routes and their construction, then binds them through the catalog's common registration rules.

public sealed class ScreenCatalogDefinitionBuilder
Inheritance
ScreenCatalogDefinitionBuilder
Inherited Members

Methods

RegisterScreens(RegionDefinitionId, Action<RegionScreenCatalogBuilder>)

Registers construction and blockers for a region after its route definitions have been built.

public void RegisterScreens(RegionDefinitionId region, Action<RegionScreenCatalogBuilder> configure)

Parameters

region RegionDefinitionId
configure Action<RegionScreenCatalogBuilder>

Register<TRoute>(RouteEntryOperations, LowerPresentationPolicy, ScreenDefinition<TRoute>, Action<RouteDefinitionBuilder<TRoute>>?)

Registers a root route using an existing, shareable screen construction definition.

public void Register<TRoute>(RouteEntryOperations allowedEntryOperations, LowerPresentationPolicy lowerPresentationPolicy, ScreenDefinition<TRoute> screen, Action<RouteDefinitionBuilder<TRoute>>? defineChildren = null) where TRoute : Route

Parameters

allowedEntryOperations RouteEntryOperations
lowerPresentationPolicy LowerPresentationPolicy
screen ScreenDefinition<TRoute>
defineChildren Action<RouteDefinitionBuilder<TRoute>>

Type Parameters

TRoute

Register<TRoute>(RouteEntryOperations, LowerPresentationPolicy, Func<ScreenCreationContext<TRoute>, CancellationToken, ValueTask<IScreenLifecycleHandler<TRoute>>>, Action<RouteDefinitionBuilder<TRoute>>?)

Registers a root route with its entry permissions, lower-screen policy, and construction factory.

public void Register<TRoute>(RouteEntryOperations allowedEntryOperations, LowerPresentationPolicy lowerPresentationPolicy, Func<ScreenCreationContext<TRoute>, CancellationToken, ValueTask<IScreenLifecycleHandler<TRoute>>> create, Action<RouteDefinitionBuilder<TRoute>>? defineChildren = null) where TRoute : Route

Parameters

allowedEntryOperations RouteEntryOperations

One or more operations permitted to create a new entry. Back and restoration are unaffected.

lowerPresentationPolicy LowerPresentationPolicy

How the route affects lower entries in the root region and their descendants.

create Func<ScreenCreationContext<TRoute>, CancellationToken, ValueTask<IScreenLifecycleHandler<TRoute>>>

Constructs one screen instance; Route values are supplied to its lifecycle handler.

defineChildren Action<RouteDefinitionBuilder<TRoute>>

Optional child-region definitions for this route.

Type Parameters

TRoute

Register<TRoute, TResult>(RouteEntryOperations, LowerPresentationPolicy, ScreenDefinition<TRoute, TResult>, Action<RouteDefinitionBuilder<TRoute>>?)

Registers a result-returning root route using an existing, shareable screen construction definition.

public void Register<TRoute, TResult>(RouteEntryOperations allowedEntryOperations, LowerPresentationPolicy lowerPresentationPolicy, ScreenDefinition<TRoute, TResult> screen, Action<RouteDefinitionBuilder<TRoute>>? defineChildren = null) where TRoute : Route<TResult>

Parameters

allowedEntryOperations RouteEntryOperations
lowerPresentationPolicy LowerPresentationPolicy
screen ScreenDefinition<TRoute, TResult>
defineChildren Action<RouteDefinitionBuilder<TRoute>>

Type Parameters

TRoute
TResult

Register<TRoute, TResult>(RouteEntryOperations, LowerPresentationPolicy, Func<ScreenCreationContext<TRoute, TResult>, CancellationToken, ValueTask<IScreenLifecycleHandler<TRoute, TResult>>>, Action<RouteDefinitionBuilder<TRoute>>?)

Registers a result-returning root route. Entry permissions apply within the call boundary.

public void Register<TRoute, TResult>(RouteEntryOperations allowedEntryOperations, LowerPresentationPolicy lowerPresentationPolicy, Func<ScreenCreationContext<TRoute, TResult>, CancellationToken, ValueTask<IScreenLifecycleHandler<TRoute, TResult>>> create, Action<RouteDefinitionBuilder<TRoute>>? defineChildren = null) where TRoute : Route<TResult>

Parameters

allowedEntryOperations RouteEntryOperations
lowerPresentationPolicy LowerPresentationPolicy
create Func<ScreenCreationContext<TRoute, TResult>, CancellationToken, ValueTask<IScreenLifecycleHandler<TRoute, TResult>>>
defineChildren Action<RouteDefinitionBuilder<TRoute>>

Type Parameters

TRoute
TResult