Example usage for com.liferay.portal.kernel.util AggregateClassLoader getAggregateClassLoader

List of usage examples for com.liferay.portal.kernel.util AggregateClassLoader getAggregateClassLoader

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util AggregateClassLoader getAggregateClassLoader.

Prototype

public static ClassLoader getAggregateClassLoader(ClassLoader[] classLoaders) 

Source Link

Usage

From source file:com.liferay.scriptingexecutor.util.ClassLoaderUtil.java

License:Open Source License

public static ClassLoader getAggregatePluginsClassLoader(String[] servletContextNames,
        boolean addContextClassLoader) {

    List<ClassLoader> classLoaders = new ArrayList<ClassLoader>(servletContextNames.length + 1);

    ClassLoader contextClassLoader = null;

    if (addContextClassLoader) {
        contextClassLoader = _getContextClassLoader();

        classLoaders.add(contextClassLoader);
    }// w w w. j  av  a 2 s  .c  om

    for (String servletContextName : servletContextNames) {
        ClassLoader pluginClassLoader = _getPluginClassLoader(servletContextName);

        classLoaders.add(pluginClassLoader);
    }

    ClassLoader portalClassLoader = PortalClassLoaderUtil.getClassLoader();

    if (!portalClassLoader.equals(contextClassLoader)) {
        classLoaders.add(portalClassLoader);
    }

    ClassLoader[] classloaders = classLoaders.toArray(new ClassLoader[classLoaders.size()]);

    return AggregateClassLoader.getAggregateClassLoader(classloaders);
}