package org.kevoree.api;
import org.kevoree.DeployUnit;
import org.kevoree.Instance;
import org.kevoree.Value;
import org.kevoree.kcl.api.FlexyClassLoader;
import java.io.File;
import java.util.Set;
public interface BootstrapService {
FlexyClassLoader get(String key);
FlexyClassLoader get(DeployUnit du);
FlexyClassLoader installDeployUnit(DeployUnit du);
void removeDeployUnit(DeployUnit du);
FlexyClassLoader installTypeDefinition(Instance instance);
void setOffline(boolean offline);
Object createInstance(Instance instance, FlexyClassLoader kcl);
void injectDictionary(Instance instance, Object target, boolean onlyDefault);
void injectDictionaryValue(Value value, Object target);
<T> void registerService(Class<T> serviceClass, T serviceImpl);
<T> void unregisterService(Class<T> serviceClass);
File resolve(String url, Set<String> repos);
}