public boolean containsClassLoader(ClassLoader classLoader) { if (bundleClassLoaders.contains(classLoader)) { return true; } for (ClassLoader bundleClassLoader : bundleClassLoaders) { if (bundleClassLoader instanceof OpenLBundleClassLoader) { if (((OpenLBundleClassLoader) bundleClassLoader).containsClassLoader(classLoader)) { return true; } } } return false; }
public boolean containsClassLoader(ClassLoader classLoader) { if (bundleClassLoaders.contains(classLoader)) { return true; } for (ClassLoader bundleClassLoader : bundleClassLoaders) { if (bundleClassLoader instanceof OpenLBundleClassLoader) { if (((OpenLBundleClassLoader) bundleClassLoader).containsClassLoader(classLoader)) { return true; } } } return false; }
public void addClassLoader(ClassLoader classLoader) { if (classLoader == null) { throw new IllegalArgumentException("Bundle class loader cannot be null"); } if (classLoader == this) { throw new IllegalArgumentException("Bundle class loader cannot register himself"); } if (classLoader instanceof OpenLBundleClassLoader && ((OpenLBundleClassLoader) classLoader).containsClassLoader(this)) { throw new IllegalArgumentException("Bundle class loader cannot register class loader containing himself"); } bundleClassLoaders.add(classLoader); }
public void addClassLoader(ClassLoader classLoader) { if (classLoader == null) { throw new IllegalArgumentException("Bundle class loader cannot be null"); } if (classLoader == this) { throw new IllegalArgumentException("Bundle class loader cannot register himself"); } if (classLoader instanceof OpenLBundleClassLoader && ((OpenLBundleClassLoader) classLoader).containsClassLoader(this)) { throw new IllegalArgumentException("Bundle class loader cannot register class loader containing himself"); } bundleClassLoaders.add(classLoader); }
public void resetClassloader(ClassLoader cl) { final Lock lock = readWriteLock.writeLock(); try { lock.lock(); List<Class<?>> toRemove = new ArrayList<>(); for (Class<?> c : cache.keySet()) { ClassLoader classLoader = c.getClassLoader(); if (classLoader == cl) { toRemove.add(c); } if (cl instanceof OpenLBundleClassLoader) { if (((OpenLBundleClassLoader) cl).containsClassLoader(classLoader)) { toRemove.add(c); } } } for (Class<?> c : toRemove) { if (getJavaClassCache().containsKey(c)) { continue; } cache.remove(c); } } finally { lock.unlock(); } }
public void resetClassloader(ClassLoader cl) { final Lock lock = readWriteLock.writeLock(); try { lock.lock(); List<Class<?>> toRemove = new ArrayList<>(); for (Class<?> c : cache.keySet()) { ClassLoader classLoader = c.getClassLoader(); if (classLoader == cl) { toRemove.add(c); } if (cl instanceof OpenLBundleClassLoader) { if (((OpenLBundleClassLoader) cl).containsClassLoader(classLoader)) { toRemove.add(c); } } } for (Class<?> c : toRemove) { if (getJavaClassCache().containsKey(c)) { continue; } cache.remove(c); } } finally { lock.unlock(); } }
if (((OpenLBundleClassLoader) classLoader).containsClassLoader(cl)) { toRemove.add(clazz);