package org.etk.kernel.container; import java.util.Set; class PortalContainerClassLoader extends UnifiedClassLoader { /** * The related portal container */ private final ApplicationContainer container; PortalContainerClassLoader(ApplicationContainer container) { super(getClassLoaders(container)); this.container = container; } /** * Retrieves the list of all the {@link ClassLoader} that are associated to * the given portal container */ private static ClassLoader[] getClassLoaders(ApplicationContainer container) { final Set<WebAppInitContext> contexts = container.getWebAppInitContexts(); final ClassLoader[] cls = new ClassLoader[contexts.size()]; int i = 0; for (WebAppInitContext ctx : contexts) { cls[i++] = ctx.getWebappClassLoader(); } return cls; } /** * {@inheritDoc} */ protected ClassLoader[] getClassLoaders() { return getClassLoaders(container); } }