001
014
015 package com.liferay.portal.kernel.util;
016
017 import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
018
019 import java.net.URL;
020 import java.net.URLClassLoader;
021
022
025 public class PortalClassLoaderUtil {
026
027 public static ClassLoader getClassLoader() {
028 PortalRuntimePermission.checkGetClassLoader("portal");
029
030 return _classLoader;
031 }
032
033 public static void setClassLoader(ClassLoader classLoader) {
034 PortalRuntimePermission.checkSetBeanProperty(
035 PortalClassLoaderUtil.class);
036
037 if (classLoader == null) {
038 _classLoader = null;
039
040 return;
041 }
042
043 Class<?> clazz = classLoader.getClass();
044
045 try {
046 clazz.getMethod("destroy");
047
048 _classLoader = new URLClassLoader(new URL[0], classLoader);
049 }
050 catch (NoSuchMethodException nsme) {
051 _classLoader = classLoader;
052 }
053 }
054
055 private static ClassLoader _classLoader;
056
057 }