private static ExtensionsClassLoader getExtensionsClassLoader() { if (instance.extensionsClassLoader == null) { instance.extensionsClassLoader = new ExtensionsClassLoader(new URL[] {}, instance.getClass().getClassLoader()); } return instance.extensionsClassLoader; }
public void addClasspath(String classpath) { StringTokenizer st = new StringTokenizer(classpath, ";"); while (st.hasMoreTokens()) { try { String path = st.nextToken(); if (path.startsWith("file:")) { addURL(new URL(path)); } else { addURL(new URL(IOUtils.getCanonicalFileURL(new File(path)))); } } catch (MalformedURLException e) { throw new Error(e); } } }
public Object run() { return findResource(name); } }, acc);
public void registerImplementation(String implClassName, Map properties, boolean notFoundError) { final String errorText = "Implementation initialization"; try { Class implClass = getExtensionsClassLoader().loadClass(implClassName); if (ImplementationInitialization.class.isAssignableFrom(implClass)) { Object inst = implClass.newInstance();
getExtensionsClassLoader().addClasspath((String) argsIterator.next()); argsIterator.remove(); } else if (arg.equals("--impl")) {
public static ClassLoader createExtensionsClassLoader(final URL[] urls) { return new ExtensionsClassLoader(urls, getExtensionsClassLoader()); }
ClassLoader classLoader = new ExtensionsClassLoader(urls, urls.getClass().getClassLoader()); device = DeviceImpl.create(context, classLoader, descriptorLocation, J2SEDevice.class);