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 boolean isPortalClassLoader(ClassLoader classLoader) {
034 if ((classLoader == _classLoader) ||
035 (classLoader == _classLoader.getParent())) {
036
037 return true;
038 }
039
040 return false;
041 }
042
043 public static void setClassLoader(ClassLoader classLoader) {
044 PortalRuntimePermission.checkSetBeanProperty(
045 PortalClassLoaderUtil.class);
046
047 if (classLoader == null) {
048 _classLoader = null;
049
050 return;
051 }
052
053 Class<?> clazz = classLoader.getClass();
054
055 try {
056 clazz.getMethod("destroy");
057
058 _classLoader = new URLClassLoader(new URL[0], classLoader);
059 }
060 catch (NoSuchMethodException nsme) {
061 _classLoader = classLoader;
062 }
063 }
064
065 private static ClassLoader _classLoader;
066
067 }