facet classafIoc::Contribute

sys::Obj
  afIoc::Contribute : sys::Facet

@Serializable

Use in a module class to denote a service contribution method. The service to be contributed to is derived from either the serviceId, serviceType, or the method name.

Either serviceId or serviceType should be defined, not both. Or as a last resort, if neither are given, the service id is derived from the method name, removing the prefix "contribute". Though this latter approach is not re-factor safe.

optional

Source

const Bool optional := false

Marks the contribution as optional; no Err is thrown if the service is not found.

This allows you to contribute to services that may or may not be defined in the registry. (e.g. contributing to optional 3rd party library)

serviceId

Source

const Str? serviceId := null

The id of the service to be configured.

serviceType

Source

const Type? serviceType := null

The type of the service to be configured.