package org.bundlebee.carrier;
/**
* Is capable of downloading and deploying bundles from repositories.
*
* @author Hendrik Schreiber
*/
public interface Carrier {
/**
* Obtain bundle, deploy it and optionally start it.
* The given filter expression can use attributes from the repository tag in the OBR repository file.
* Examples:
*
* (id=org.bundlebee.watchdog/1.0.0)
* (symbolicname=org.bundlebee.watchdog)
* (|(id=org.bundlebee.watchdog/1.0.0)(symbolicname=org.bundlebee.watchdog))
*
* The first match for a corresponding search is deployed.
*
* @param filterExpression filter expression, e.g. (symbolicname=org.bundlebee.watchdog)
* filters are defined in OSGi R4 Core 3.2.6
* @param start if true, start bundle.
* @see Apache Felix OBR
*/
void deploy(String filterExpression, boolean start) throws DeploymentException;
}