Allows browsing the catalog of capabilities and managing the capabilities of the application.

The app can browse only capabilities which are visible to it, i.e., for which the app has declared an intention and which are also publicly available. Capabilities that the app provides itself are always visible to the app.

The app can also provide new capabilities or remove existing ones. If the Intention Registration API is enabled for the app, the app can also manage its intentions, which, however, is strongly discouraged. Instead, apps should declare the required functionality in their manifests using wildcard intentions.

Implements

  • Initializer

Constructors

Accessors

Methods

  • Executes some work during bean manager startup.

    Returns Promise<void>

    a Promise that resolves when this initializer completes its initialization.

  • Tests if the specified micro app is qualified to interact with the given capability.

    A micro app is qualified if it meets either of the following criteria:

    • The capability is provided by the application itself.
    • The capability is provided by another application, but only if the capability is publicly visible (1), and the micro app has declared an intention (2) to use the capability.

    (1) Unless 'scope check' is disabled for the specified micro app. (2) Unless 'intention check' is disabled for the specified micro app.

    Parameters

    • appSymbolicName: string

      Specifies the symbolic name of the application under test.

    • qualifiedFor: { capabilityId: string }

    Returns Observable<boolean>

    An Observable that, when subscribed, emits the qualification of specified application. It never completes and emits continuously when capabilites or intentions are registered or unregistered.

  • Allows browsing the catalog of capabilities that match the given filter.

    You can only browse capabilities that are visible to your application, that is, capabilities that you provide yourself or that are publicly available and for which you have declared an intention in your manifest.

    Type Parameters

    Parameters

    • Optionalfilter: ManifestObjectFilter

      Control which capabilities to browse. If no or an empty filter is given, all capabilities visible to the requesting app are returned. Specified filter criteria are "AND"ed together.

      If specifying a qualifier filter, the capabilities must match that filter exactly. The filter supports the asterisk wildcard to match any value, e.g., {property: '*'}, or partial matching to find capabilities with at least the specified qualifier properties. Partial matching is enabled by appending the any-more entry to the qualifier, as following: {'*': '*'}.

    Returns Observable<T[]>

    An Observable that, when subscribed, emits the requested capabilities. It never completes and emits continuously when fulfilling capabilities are registered or unregistered.

  • Allows browsing the catalog of intentions that match the given filter.

    Parameters

    • Optionalfilter: ManifestObjectFilter

      Control which intentions to return. If no or an empty filter is given, no filtering takes place. Specified filter criteria are "AND"ed together.

      If specifying a qualifier filter, the intentions must match that filter exactly. The filter supports the asterisk wildcard to match any value, e.g., {property: '*'}, or partial matching to find intentions with at least the specified qualifier properties. Partial matching is enabled by appending the any-more entry to the qualifier, as following: {'*': '*'}.

    Returns Observable<Intention[]>

    An Observable that, when subscribed, emits the requested intentions. It never completes and emits continuously when matching intentions are registered or unregistered.

  • Registers given capability. If the capability has public visibility, other applications can browse the capability and interact with it.

    Type Parameters

    Parameters

    • capability: T

    Returns Promise<string>

    A Promise that resolves to the identity of the registered capability, or that rejects if the registration failed.

  • Registers the given intention, allowing the application to interact with public capabilities matching the intention.

    The intention can match multiple capabilities by using the asterisk wildcard in the qualifier.

    This operation requires that the 'Intention Registration API' is enabled for your application.

    Parameters

    Returns Promise<string>

    A Promise that resolves to the identity of the registered intention, or that rejects if the registration failed.

  • Unregisters capabilities matching the given filter.

    You can only unregister capabilities of your application.

    Parameters

    • Optionalfilter: ManifestObjectFilter

      Control which capabilities to unregister by specifying filter criteria which are "AND"ed together. If not passing a filter, all capabilities of the requesting app are unregistered.

      If specifying a qualifier filter, the capabilities to unregister must match that filter exactly. The filter supports the asterisk wildcard to match any value, e.g., {property: '*'}, or partial matching to unregister capabilities with at least the specified qualifier properties. Partial matching is enabled by appending the any-more entry to the qualifier, as following: {'*': '*'}. Note that specifying a symbolic app name in the filter has no effect.

    Returns Promise<void>

    A Promise that resolves when unregistered the capability, or that rejects if the unregistration failed.

  • Unregisters intentions matching the given filter.

    You can only unregister intentions of your application. This operation requires that the 'Intention Registration API' is enabled for your application.

    Parameters

    • Optionalfilter: ManifestObjectFilter

      Control which intentions to unregister by specifying filter criteria which are "AND"ed together. If not passing a filter, all intentions of the requesting app are unregistered.

      If specifying a qualifier filter, the intentions to unregister must match that filter exactly. The filter supports the asterisk wildcard to match any value, e.g., {property: '*'}, or partial matching to unregister intentions with at least the specified qualifier properties. Partial matching is enabled by appending the any-more entry to the qualifier, as following: {'*': '*'}. Note that specifying a symbolic app name in the filter has no effect.

    Returns Promise<void>

    A Promise that resolves when unregistered the intention, or that rejects if the unregistration failed.