|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjodd.util.ClassLoaderUtil
public class ClassLoaderUtil
Utilities to manipulate class path, define and find classes etc.
| Field Summary | |
|---|---|
static char[] |
PRIMITIVE_BYTECODE_NAME
List of primitive bytecode characters that matches names list. |
static java.lang.String[] |
PRIMITIVE_TYPE_NAMES
List of primitive type names. |
static java.lang.Class[] |
PRIMITIVE_TYPES
List of primitive types that matches names list. |
| Constructor Summary | |
|---|---|
ClassLoaderUtil()
|
|
| Method Summary | |
|---|---|
static void |
addFileToClassPath(java.io.File path,
java.lang.ClassLoader classLoader)
Adds additional file or path to classpath during runtime. |
static void |
addFileToClassPath(java.lang.String 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(byte[] classData)
Defines a class from byte array into the system class loader. |
static java.lang.Class |
defineClass(byte[] classData,
java.lang.ClassLoader classLoader)
Defines a class from byte array into the specified class loader. |
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)
|
static java.lang.Class |
findClass(java.lang.String className,
java.net.URL[] classPath)
|
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.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.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 |
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,
java.lang.ClassLoader callingClass)
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)
|
static java.lang.Class |
loadClass(java.lang.String className,
java.lang.ClassLoader classLoader)
Loads a class with a given name dynamically, more reliable then Class.forName. |
static java.lang.String |
prepareClassnameForLoading(java.lang.String className)
Prepares classname for loading. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String[] PRIMITIVE_TYPE_NAMES
public static final java.lang.Class[] PRIMITIVE_TYPES
public static final char[] PRIMITIVE_BYTECODE_NAME
| Constructor Detail |
|---|
public ClassLoaderUtil()
| Method Detail |
|---|
public static java.lang.ClassLoader getDefaultClassLoader()
null then class loader that loaded this class is
returned.
public static java.lang.ClassLoader getSystemClassLoader()
public static void addFileToClassPath(java.lang.String path,
java.lang.ClassLoader classLoader)
addUrlToClassPath(java.net.URL, ClassLoader)
public static void addFileToClassPath(java.io.File path,
java.lang.ClassLoader classLoader)
addUrlToClassPath(java.net.URL, 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(byte[] classData)
defineClass(String, byte[], ClassLoader)
public static java.lang.Class defineClass(java.lang.String className,
byte[] classData)
defineClass(String, byte[], ClassLoader)
public static java.lang.Class defineClass(byte[] classData,
java.lang.ClassLoader classLoader)
defineClass(String, byte[], ClassLoader)
public static java.lang.Class defineClass(java.lang.String className,
byte[] classData,
java.lang.ClassLoader classLoader)
className - optional class name, may be nullclassData - bytecode dataclassLoader - classloader that will load class
public static java.lang.Class findClass(java.lang.String className,
java.io.File[] classPath)
findClass(String, java.net.URL[], ClassLoader)
public static java.lang.Class findClass(java.lang.String className,
java.net.URL[] classPath)
findClass(String, java.net.URL[], ClassLoader)
public static java.lang.Class findClass(java.lang.String className,
java.net.URL[] classPath,
java.lang.ClassLoader parent)
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.IOExceptiongetResourceAsStream(String, ClassLoader)
public static java.io.InputStream getResourceAsStream(java.lang.String resourceName,
java.lang.ClassLoader callingClass)
throws java.io.IOException
java.io.IOExceptiongetResourceUrl(String, ClassLoader)
public static java.io.InputStream getClassAsStream(java.lang.Class clazz)
throws java.io.IOException
java.io.IOExceptiongetResourceAsStream(String, ClassLoader)
public static java.io.InputStream getClassAsStream(java.lang.String className)
throws java.io.IOException
java.io.IOExceptiongetResourceAsStream(String, ClassLoader)public static java.lang.String prepareClassnameForLoading(java.lang.String className)
public static java.lang.Class loadClass(java.lang.String className)
throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public static java.lang.Class loadClass(java.lang.String className,
java.lang.ClassLoader classLoader)
throws java.lang.ClassNotFoundException
Class.forName.
Class will be loaded using class loaders in the following order:
Thread.currentThread().getContextClassLoader()}
Class.forName
java.lang.ClassNotFoundExceptionpublic static java.lang.String getClassFileName(java.lang.Class clazz)
public static java.lang.String getClassFileName(java.lang.String className)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||