ManagedReferences

Managed references that in addition to keeping and locating references can also manage their lifecycle.

Extends: ReferencesDecorator

Implements: IOpenable

Description

The ManagedReferences class allows you to create managed references that in additon to keeping and locating references can also manage their lifecycle, such as:

  • Auto-creation of missing components using available factories
  • Auto-linking newly added components
  • Auto-opening newly added components
  • Auto-closing removed components

Constructors

Creates a new instance of the decorator.

ManagedReferences(List tuples)

  • tuples: List - tuples where odd values are component locators (descriptors) and even values are component references

Fields

references

References

references: References

builder

Builder

builder: BuildReferencesDecorator

linker

Linker

linker: LinkReferencesDecorator

runner

Runner

runner: RunReferencesDecorator

Instance methods

close

Closes the component and frees used resources.

@override

Future close(IContext? context)

  • context: IContext - (optional) a context to trace execution through a call chain.

isOpen

Checks if the component is open.

@override

bool isOpen()

  • returns: bool - True if the component is open and False otherwise.

open

Opens the component.

@override

Future open(IContext? context)

  • context: IContext - (optional) a context to trace execution through a call chain.

Static methods

fromTuples

Removes all component references that match the specified locator.

static ManagedReferences fromTuples(List tuples)

  • locator: List - locator to remove references by.
  • returns: ManagedReferences - list containing all removed references.

See also