+ public static RequiredServiceDescriptor[] filterRequiredServices(
+ ProvidedServiceDescriptor aProvided,
+ Collection<RequiredServiceDescriptor> aDescriptors) {
+ List<RequiredServiceDescriptor> required = new ArrayList<RequiredServiceDescriptor>();
+ for (RequiredServiceDescriptor descriptor : aDescriptors) {
+ if (descriptor.implementedBy(aProvided)) {
+ required.add(descriptor);
+ }
+ }
+ return required.toArray(new RequiredServiceDescriptor[0]);
+ }
+
+ public static ProvidedServiceDescriptor[] filterProvidedServices(
+ RequiredServiceDescriptor aRequired,
+ Collection<ProvidedServiceDescriptor> aProvided) {
+ List<ProvidedServiceDescriptor> provided = new ArrayList<ProvidedServiceDescriptor>();
+ for (ProvidedServiceDescriptor descriptor : aProvided) {
+ if (aRequired.implementedBy(descriptor)) {
+ provided.add(descriptor);
+ }
+ }
+ return provided.toArray(new ProvidedServiceDescriptor[0]);
+ }
+