addService method

TSubsystemFactory<TSubsystem> addService(
  1. BuildServiceParameters parameter
)

Adds a subsystem registration parameter.

Overrides existing registrations for the same type/class according to SubsystemTypeDesc.supportsMultipleClasses.

Implementation

TSubsystemFactory<TSubsystem> addService(BuildServiceParameters parameter) {
  if (!parameter.isValid) {
    throw ArgumentError.value(
      parameter,
      'parameter',
      'Invalid service registration parameters',
    );
  }

  if (!parameter.classDescription.serviceType.supportsMultipleClasses) {
    removeType(parameter.classDescription.serviceType.serviceTypeId);
  } else {
    removeClass(parameter.classDescription.serviceClassId);
  }

  _registrations.add(parameter);
  return this;
}