Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ObjectCacheController<T>

Discovers objects by given object Ids and maintains a local cache of resolved objects. The controller will also update existing objects in its cache whenever such objects are advertised by other parties.

To realize an object cache controller for a specific core types or for specific objects, define a custom controller class that extends this abstract class and set the core type and/or the filter predicate of objects to be cached in the OnInit method.

Type parameters

Hierarchy

Index

Constructors

constructor

Accessors

communicationManager

container

Protected coreType

objectFilter

  • set objectFilter(predicate: (obj: T) => boolean): void
  • Sets a filter predicate on objects to be resolved.

    To filter out specific objects or object types you should set an object filter once in the OnInit method of your custom controller.

    Parameters

    • predicate: (obj: T) => boolean
        • (obj: T): boolean
        • Parameters

          • obj: T

          Returns boolean

    Returns void

options

registeredName

  • get registeredName(): string
  • Gets the registered name of this controller.

    The registered name is either defined by the corresponding key in the Components.controllers object in the container configuration, or by invoking Container.registerController method with this name.

    Returns string

runtime

Methods

Protected extendLogObject

  • extendLogObject(log: Log): void
  • Whenever one of the controller's log methods (e.g. logDebug, logInfo, logWarning, logError, logFatal) is called by application code, the controller creates a Log object with appropriate property values and passes it to this method before advertising it.

    You can override this method to additionally set certain properties (such as LogHost.hostname or Log.logLabels). Ensure that super.extendLogObject is called in your override. The base method does nothing.

    Parameters

    • log: Log

      log object to be extended before being advertised

    Returns void

logDebug

  • logDebug(message: string, ...tags: string[]): void

logError

  • logError(error: any, message: string, ...tags: string[]): void
  • Advertise a Log object for an error.

    Parameters

    • error: any

      an error (object)

    • message: string

      additional error message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

logErrorWithStacktrace

  • logErrorWithStacktrace(error: any, message: string, ...tags: string[]): void

logFatal

  • logFatal(error: any, message: string, ...tags: string[]): void
  • Advertise a Log object for a fatal error.

    Parameters

    • error: any

      an error (object)

    • message: string

      additional error message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

logInfo

  • logInfo(message: string, ...tags: string[]): void

logWarning

  • logWarning(message: string, ...tags: string[]): void

onCommunicationManagerStarting

  • onCommunicationManagerStarting(): void

onCommunicationManagerStopping

  • onCommunicationManagerStopping(): void

onDispose

  • onDispose(): void
  • Called by the container when this instance should be disposed.

    Implement cleanup side effects here. Ensure that super.onDispose is called in your override. The base implementation does nothing.

    Returns void

onInit

  • onInit(): void
  • Called when the container has completely set up and injected all dependency components, including all its controllers.

    Override this method to perform initializations in your custom controller class instead of defining a constructor. Although the base implementation does nothing it is good practice to call super.onInit() in your override method; especially if your custom controller class does not extend from the base Controller class directly.

    Returns void

resolveObject

  • resolveObject(objectId: string, shouldResolvePending?: boolean): Observable<T>
  • Gets an observable that emits the first object resolved for the given object Id, then completes.

    Parameters

    • objectId: string

      the object Id of the object to resolve

    • shouldResolvePending: boolean = false

      true if an already pending resolution should be rediscovered; false otherwise (default)

    Returns Observable<T>

Generated using TypeDoc