package sk.stuba.fiit.perconik.osgi.framework;
import org.osgi.framework.Bundle;
import sk.stuba.fiit.perconik.utilities.reflect.resolver.ClassResolver;
import static com.google.common.base.Preconditions.checkNotNull;
final class BundleClassResolver implements ClassResolver {
private final Bundle bundle;
BundleClassResolver(final Bundle loader) {
this.bundle = checkNotNull(loader);
}
public Class<?> forName(final String name) throws ClassNotFoundException {
return this.bundle.loadClass(name);
}
@Override
public String toString() {
String bundle = this.bundle.getSymbolicName();
return "BundleClassResolver(" + (bundle != null ? bundle : this.bundle.getBundleId()) + ")";
}
}