1 package org.argeo.osgi.a2; 2 3 import org.osgi.framework.Bundle; 4 import org.osgi.framework.BundleContext; 5 import org.osgi.framework.Version; 6 7 /** Where components are retrieved from. */ 8 public interface ProvisioningSource { 9 /** List all contributions of this source. */ 10 Iterable<A2Contribution> listContributions(Object filter); 11 12 /** Install a module in the OSGi runtime. */ 13 Bundle install(BundleContext bc, A2Module module); 14 15 /** Update a module in the OSGi runtime. */ 16 void update(Bundle bundle, A2Module module); 17 18 /** Finds the {@link A2Branch} related to this component and version. */ 19 A2Branch findBranch(String componentId, Version version); 20 21 }