+ private void addProvidersOfRequiredInterfaces(
+ List<Pair<ProvidedInterface,Component>> allProvided) {
+ // all interfaces from the required list of this container are
+ // provided to the components inside it.
+ RequiredInterface[] required = getRequiredInterfaces();
+ for (RequiredInterface intf : required) {
+ ProvidedInterface provider = intf.getProvider();
+ if (provider != null) {
+ allProvided.add(new Pair<ProvidedInterface,Component>(provider, null));
+ } else {
+ if (!intf.isOptional()) {
+ throw new SystemAssemblyException(getQualifiedName()
+ + ": required interface '" + intf
+ + "' is not provided");
+ }
+ }
+ }
+ }
+