public class ClassLoaderUtil
extends java.lang.Object
Constructor and Description |
---|
ClassLoaderUtil() |
Modifier and Type | Method and Description |
---|---|
static void |
addFileToClassPath(java.io.File path,
java.lang.ClassLoader classLoader)
Adds additional file or path to classpath during runtime.
|
static void |
addUrlToClassPath(java.net.URL url,
java.lang.ClassLoader classLoader)
Adds the content pointed by the URL to the classpath during runtime.
|
static java.lang.Class |
defineClass(java.lang.String className,
byte[] classData)
Defines a class from byte array into the system class loader.
|
static java.lang.Class |
defineClass(java.lang.String className,
byte[] classData,
java.lang.ClassLoader classLoader)
Defines a class from byte array into the specified class loader.
|
static java.lang.Class |
findClass(java.lang.String className,
java.io.File[] classPath,
java.lang.ClassLoader parent) |
static java.lang.Class |
findClass(java.lang.String className,
java.net.URL[] classPath,
java.lang.ClassLoader parent)
Finds and loads class on classpath even if it was already loaded.
|
static java.io.File |
findToolsJar()
Finds tools.jar.
|
static java.io.InputStream |
getClassAsStream(java.lang.Class clazz)
Opens a class of the specified name for reading using class classloader.
|
static java.io.InputStream |
getClassAsStream(java.lang.String className)
Opens a class of the specified name for reading.
|
static java.io.InputStream |
getClassAsStream(java.lang.String className,
java.lang.ClassLoader classLoader)
Opens a class of the specified name for reading using provided class loader.
|
static java.lang.String |
getClassFileName(java.lang.Class clazz)
Resolves class file name from class name by replacing dot's with '/' separator
and adding class extension at the end.
|
static java.lang.String |
getClassFileName(java.lang.String className)
Resolves class file name from class name by replacing dot's with '/' separator.
|
static java.lang.ClassLoader |
getClassLoader(java.lang.Class<?> clazz)
Returns class loader of a class, considering the security manager.
|
static java.lang.String |
getClasspathItemBaseDir(java.io.File classpathItem)
Returns base folder for classpath item.
|
static java.util.jar.Manifest |
getClasspathItemManifest(java.io.File classpathItem)
Returns classpath item manifest or
null if not found. |
static java.lang.ClassLoader |
getContextClassLoader()
Returns thread context class loader.
|
static java.lang.ClassLoader |
getDefaultClassLoader()
Returns default class loader.
|
static java.io.File[] |
getDefaultClasspath()
Returns default classpath using
default classloader . |
static java.io.File[] |
getDefaultClasspath(java.lang.ClassLoader classLoader)
Returns default class path from all available
URLClassLoader
in classloader hierarchy. |
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName)
Opens a resource of the specified name for reading.
|
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName,
boolean useCache)
Opens a resource of the specified name for reading.
|
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName,
java.lang.ClassLoader callingClass)
Opens a resource of the specified name for reading.
|
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName,
java.lang.ClassLoader callingClass,
boolean useCache)
Opens a resource of the specified name for reading.
|
static java.io.File |
getResourceFile(java.lang.String resourceName)
Retrieves resource as file.
|
static java.io.File |
getResourceFile(java.lang.String resourceName,
java.lang.ClassLoader classLoader)
Retrieves resource as file.
|
static java.net.URL |
getResourceUrl(java.lang.String resourceName)
Retrieves given resource as URL.
|
static java.net.URL |
getResourceUrl(java.lang.String resourceName,
java.lang.ClassLoader classLoader)
Retrieves given resource as URL.
|
static java.lang.ClassLoader |
getSystemClassLoader()
Returns system class loader.
|
static java.lang.Class |
loadClass(java.lang.String className)
Loads a class using default class loader strategy.
|
static java.lang.Class |
loadClass(java.lang.String className,
java.lang.ClassLoader classLoader)
Loads a class using default class loader strategy.
|
public static java.lang.ClassLoader getClassLoader(java.lang.Class<?> clazz)
public static java.lang.ClassLoader getDefaultClassLoader()
threads context class loader
.
If this one is null
, then class loader of the caller class is returned.public static java.lang.ClassLoader getContextClassLoader()
public static java.lang.ClassLoader getSystemClassLoader()
public static void addFileToClassPath(java.io.File path, java.lang.ClassLoader classLoader)
public static void addUrlToClassPath(java.net.URL url, java.lang.ClassLoader classLoader)
addURL
method of
URLClassLoader
is protected.public static java.lang.Class defineClass(java.lang.String className, byte[] classData)
public static java.lang.Class defineClass(java.lang.String className, byte[] classData, java.lang.ClassLoader classLoader)
className
- optional class name, may be null
classData
- bytecode dataclassLoader
- classloader that will load classpublic static java.lang.Class findClass(java.lang.String className, java.io.File[] classPath, java.lang.ClassLoader parent)
public static java.lang.Class findClass(java.lang.String className, java.net.URL[] classPath, java.lang.ClassLoader parent)
className
- class name to findclassPath
- classpathparent
- optional parent class loader, may be null
public static java.io.File findToolsJar()
null
if does not exist.public static java.util.jar.Manifest getClasspathItemManifest(java.io.File classpathItem)
null
if not found.public static java.lang.String getClasspathItemBaseDir(java.io.File classpathItem)
public static java.io.File[] getDefaultClasspath()
default classloader
.public static java.io.File[] getDefaultClasspath(java.lang.ClassLoader classLoader)
URLClassLoader
in classloader hierarchy. The following is added to the classpath list:
URLClassLoader
(other URL protocols are ignored)public static java.net.URL getResourceUrl(java.lang.String resourceName)
getResourceUrl(String, ClassLoader)
public static java.net.URL getResourceUrl(java.lang.String resourceName, java.lang.ClassLoader classLoader)
Resource will be loaded using class loaders in the following order:
Thread.currentThread().getContextClassLoader()
ClassLoaderUtil.class.getClassLoader()
callingClass
is provided: callingClass.getClassLoader()
public static java.io.File getResourceFile(java.lang.String resourceName)
getResourceFile(String)
public static java.io.File getResourceFile(java.lang.String resourceName, java.lang.ClassLoader classLoader)
URL
,
than it is converted to URI so it can be used by File constructor.public static java.io.InputStream getResourceAsStream(java.lang.String resourceName) throws java.io.IOException
java.io.IOException
getResourceAsStream(String, ClassLoader)
public static java.io.InputStream getResourceAsStream(java.lang.String resourceName, boolean useCache) throws java.io.IOException
java.io.IOException
getResourceAsStream(String, ClassLoader, boolean)
public static java.io.InputStream getResourceAsStream(java.lang.String resourceName, java.lang.ClassLoader callingClass) throws java.io.IOException
java.io.IOException
getResourceUrl(String, ClassLoader)
public static java.io.InputStream getResourceAsStream(java.lang.String resourceName, java.lang.ClassLoader callingClass, boolean useCache) throws java.io.IOException
java.io.IOException
public static java.io.InputStream getClassAsStream(java.lang.Class clazz) throws java.io.IOException
java.io.IOException
getResourceAsStream(String, ClassLoader)
public static java.io.InputStream getClassAsStream(java.lang.String className) throws java.io.IOException
java.io.IOException
getResourceAsStream(String, ClassLoader)
public static java.io.InputStream getClassAsStream(java.lang.String className, java.lang.ClassLoader classLoader) throws java.io.IOException
java.io.IOException
public static java.lang.Class loadClass(java.lang.String className) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
DefaultClassLoaderStrategy
public static java.lang.Class loadClass(java.lang.String className, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
DefaultClassLoaderStrategy
public static java.lang.String getClassFileName(java.lang.Class clazz)
public static java.lang.String getClassFileName(java.lang.String className)
Copyright © 2003-2013 Jodd Team