Mega Code Archive

 
Categories / Java / Security
 

ClassLoader ClassLoader java security AccessController doPrivileged(PrivilegedActionClassLoader action)

/*   * JBoss, Home of Professional Open Source   * Copyright 2005, JBoss Inc., and individual contributors as indicated   * by the @authors tag. See the copyright.txt in the distribution for a   * full listing of individual contributors.   *   * This is free software; you can redistribute it and/or modify it   * under the terms of the GNU Lesser General Public License as   * published by the Free Software Foundation; either version 2.1 of   * the License, or (at your option) any later version.   *   * This software is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   * Lesser General Public License for more details.   *   * You should have received a copy of the GNU Lesser General Public   * License along with this software; if not, write to the Free   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.   */ import java.security.AccessController; import java.security.PrivilegedAction; /** A collection of privileged actions  * @author Clebert Suconic  */ class SecurityActions {    static ClassLoader getTCL()    {       if (System.getSecurityManager() == null)       {          return Thread.currentThread().getContextClassLoader();       }       else       {          return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()          {             public ClassLoader run()             {                return Thread.currentThread().getContextClassLoader();             }          });       }    }    static ClassLoader getClassLoader(final Class<?> clazz)    {       if (System.getSecurityManager() == null)       {          return clazz.getClassLoader();       }       else       {          return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()          {             public ClassLoader run()             {                return clazz.getClassLoader();             }          });       }    }    static void setTCL(final ClassLoader tcl)    {       if (System.getSecurityManager() == null)       {          Thread.currentThread().setContextClassLoader(tcl);       }       else       {          AccessController.doPrivileged(new PrivilegedAction<Object>()          {             public Object run()             {                Thread.currentThread().setContextClassLoader(tcl);                return null;             }          });       }    } }