public class ClassHelper
extends java.lang.Object
| Constructor and Description |
|---|
ClassHelper() |
| Modifier and Type | Method and Description |
|---|---|
static java.net.URL |
absoluteLocation(java.net.URL url,
java.lang.String className)
Uses the URL of a class resources and its name to try and extract the original class path.
|
static java.lang.String |
absoluteLocationStr(java.net.URL url,
java.lang.String className) |
static void |
addSource(java.util.Set<java.lang.String> sources,
java.lang.Class<?> clazz) |
static boolean |
addSourceTo(java.lang.Class<?> c,
java.lang.ClassLoader to) |
static java.util.Map<?,?> |
burningWaveProperties() |
static void |
checkBurningWaveInit() |
static java.lang.String |
className(java.lang.Class<?> clazz)
Returns the full name of the class or an empty string if the class is null.
|
static java.lang.String |
className(java.lang.Class<?> clazz,
boolean simple)
Returns either the full or simple name of the class or an empty string if the class is null.
|
static java.lang.String |
className(java.lang.Object obj)
Returns the full name of the class of the object or an empty string if the object is null.
|
static java.lang.String |
className(java.lang.Object obj,
boolean simple)
Returns either the full or simple name of the class of the object or an empty string if the object is null.
|
static java.lang.Class<?> |
defineAndResolveClass(java.lang.ClassLoader loader,
java.lang.String name,
byte[] byteCode) |
static java.lang.Class<?> |
defineClass(java.lang.ClassLoader loader,
java.lang.String className,
byte[] bytes)
Defines and resolves a class from byteCode
|
static java.lang.Class<?> |
defineClass(java.lang.ClassLoader loader,
java.lang.String name,
java.nio.ByteBuffer buffer)
Defines and resolves a class from byteCode
|
static java.lang.Class<?> |
defineClass(java.lang.ClassLoader loader,
java.lang.String name,
java.net.URL url)
Find the byteCode of a class at the given URL defines it on the given ClassLoader.
|
static java.lang.String |
descriptor(java.lang.Class<?> clazz) |
static java.lang.String |
descriptor(java.lang.String classpath) |
static java.lang.Class<?> |
existsOn(java.lang.String name,
java.lang.ClassLoader loader)
Returns a class of the given name on the given ClassLoader.
|
static java.lang.Class<?> |
findClass(java.lang.String name)
Finds a class from the input name via the context ClassLoader.
|
static java.lang.Class<?> |
findClass(java.lang.String name,
boolean initialize)
Finds a class from the input name via the context ClassLoader.
|
static java.lang.Class<?> |
findClass(java.lang.String name,
boolean initialize,
java.lang.ClassLoader classLoader) |
static java.lang.Class<?> |
findClass(java.lang.String name,
boolean initialize,
java.lang.ClassLoader classLoader,
boolean forceLoader)
Finds a class from the input name via the input ClassLoader.
|
static java.lang.Class<?> |
findClass(java.lang.String name,
java.lang.ClassLoader classLoader)
Finds a class from the input name via the input ClassLoader.
|
static java.lang.Class<?>[] |
findClasses(boolean initialize,
java.lang.ClassLoader classLoader,
java.lang.String... names) |
static java.lang.Class<?>[] |
findClasses(boolean initialize,
java.lang.String... names) |
static java.lang.Class<?>[] |
findClasses(java.lang.ClassLoader classLoader,
java.lang.String... names) |
static java.lang.Class<?>[] |
findClasses(java.lang.String... names) |
static java.lang.Class<?> |
findClassFrom(java.lang.Class<?> clazz,
java.lang.String simpleName) |
static java.lang.Class<?> |
findClassFrom(java.lang.Class<?> clazz,
java.lang.String simpleName,
boolean initialize) |
static java.lang.Class<?> |
findClassFrom(java.lang.Class<?> clazz,
java.lang.String simpleName,
boolean initialize,
java.lang.ClassLoader classLoader) |
static java.lang.Class<?> |
findClassFrom(java.lang.Class<?> clazz,
java.lang.String simpleName,
java.lang.ClassLoader classLoader) |
static java.lang.Class<?> |
findClassFrom(java.lang.Package pkg,
java.lang.String simpleName) |
static java.lang.Class<?> |
findClassFrom(java.lang.Package pkg,
java.lang.String simpleName,
boolean initialize) |
static java.lang.Class<?> |
findClassFrom(java.lang.Package pkg,
java.lang.String simpleName,
boolean initialize,
java.lang.ClassLoader classLoader) |
static java.lang.Class<?> |
findClassFrom(java.lang.Package pkg,
java.lang.String simpleName,
java.lang.ClassLoader classLoader) |
static byte[] |
getClassBytes(java.lang.Class<?> clazz) |
static java.net.URL |
getJarResource(java.lang.String path,
java.lang.String relativePath) |
static java.lang.String |
getResourcePath(java.lang.String className) |
static java.net.URL |
getSourceURL(java.lang.Class<?> clazz) |
static java.net.URL |
getSourceURL(java.lang.String className,
java.lang.ClassLoader loader) |
static java.lang.String |
getSourceURLStr(java.lang.String className,
java.lang.ClassLoader loader) |
static <T> T |
initialize(java.lang.Class<T> clazz,
java.lang.Object... args) |
static java.lang.String |
internalName(java.lang.Class<?> clazz) |
static java.lang.String |
internalName(java.lang.String classpath) |
static void |
loadClass(java.lang.Class<?> clazz) |
static void |
loadClass(java.lang.ClassLoader classLoader,
java.lang.Class<?> clazz) |
static void |
loadClass(java.lang.ClassLoader classLoader,
java.lang.String classpath,
byte[] bytes) |
static void |
loadClass(java.lang.String classpath,
byte[] bytes) |
static boolean |
loadURL(java.net.URLClassLoader classLoader,
java.net.URL url) |
static void |
moveClassTo(java.lang.Class<?> c,
java.lang.ClassLoader target) |
static java.lang.String |
packageName(java.lang.Class<?> clazz) |
static java.lang.Class<?> |
resolveClass(java.lang.ClassLoader classLoader,
java.lang.Class<?> clazz)
Defines and resolves a class from byteCode
|
static java.lang.String |
signature(java.lang.Class<?> clazz,
java.lang.Class<?>... parameters)
Builds a signature via classes
|
static java.lang.String |
signatureClasspath(java.lang.String classpath,
java.lang.String... parameterPaths)
Builds a signature via classpaths
|
static java.lang.String |
signatureDesc(java.lang.String desc,
java.lang.String... parameterDescs)
Builds a signature via class descriptors
|
static java.lang.String |
signatureInternal(java.lang.String name,
java.lang.String... parameterNames)
Builds a signature via internal names
|
static java.lang.Class<?> |
syncDirect(java.lang.ClassLoader loader,
java.lang.Class<?> clazz) |
static void |
syncSourcesAndLoadClass(java.lang.ClassLoader syncFrom,
java.lang.ClassLoader syncTo,
java.lang.String className,
java.util.function.BiFunction<java.lang.ClassLoader,java.net.URL,java.lang.Boolean> urlLoader) |
static void |
syncSourcesForClass(java.lang.ClassLoader syncFrom,
java.lang.ClassLoader syncTo,
java.lang.String className,
java.util.function.BiFunction<java.lang.ClassLoader,java.net.URL,java.lang.Boolean> urlLoader,
java.lang.String... classesToLoad) |
static java.lang.String |
withPkgName(java.lang.Class<?> ref,
java.lang.String simpleName)
Returns the full name of a class via another class in the same package and its simple name or the simple name
if the reference class is null
|
static java.lang.String |
withPkgName(java.lang.Package pkg,
java.lang.String simpleName)
Returns the full name of a class via another class in the same package and its simple name or the simple name
if the reference class is null
|
public static java.net.URL absoluteLocation(@Nullable
java.net.URL url,
java.lang.String className)
@Nullable
public static java.lang.String absoluteLocationStr(@Nullable
java.net.URL url,
java.lang.String className)
public static void addSource(java.util.Set<java.lang.String> sources,
java.lang.Class<?> clazz)
public static boolean addSourceTo(java.lang.Class<?> c,
java.lang.ClassLoader to)
public static java.util.Map<?,?> burningWaveProperties()
public static void checkBurningWaveInit()
public static java.lang.String className(@Nullable
java.lang.Object obj)
public static java.lang.String className(@Nullable
java.lang.Class<?> clazz)
public static java.lang.String className(@Nullable
java.lang.Object obj,
boolean simple)
public static java.lang.String className(@Nullable
java.lang.Class<?> clazz,
boolean simple)
@Nullable
public static java.lang.Class<?> defineAndResolveClass(java.lang.ClassLoader loader,
java.lang.String name,
byte[] byteCode)
@Nullable
public static java.lang.Class<?> defineClass(java.lang.ClassLoader loader,
java.lang.String name,
java.net.URL url)
public static java.lang.Class<?> defineClass(java.lang.ClassLoader loader,
java.lang.String className,
@Nullable
byte[] bytes)
public static java.lang.Class<?> defineClass(java.lang.ClassLoader loader,
java.lang.String name,
@Nullable
java.nio.ByteBuffer buffer)
public static java.lang.String descriptor(java.lang.Class<?> clazz)
public static java.lang.String descriptor(java.lang.String classpath)
public static java.lang.Class<?> existsOn(java.lang.String name,
java.lang.ClassLoader loader)
@Nullable public static java.lang.Class<?> findClass(java.lang.String name)
@Nullable
public static java.lang.Class<?> findClass(java.lang.String name,
java.lang.ClassLoader classLoader)
@Nullable
public static java.lang.Class<?> findClass(java.lang.String name,
boolean initialize)
@Nullable
public static java.lang.Class<?> findClass(java.lang.String name,
boolean initialize,
java.lang.ClassLoader classLoader)
@Nullable
public static java.lang.Class<?> findClass(java.lang.String name,
boolean initialize,
java.lang.ClassLoader classLoader,
boolean forceLoader)
@Nullable public static java.lang.Class<?>[] findClasses(java.lang.String... names)
@Nullable
public static java.lang.Class<?>[] findClasses(java.lang.ClassLoader classLoader,
java.lang.String... names)
@Nullable
public static java.lang.Class<?>[] findClasses(boolean initialize,
java.lang.String... names)
@Nullable
public static java.lang.Class<?>[] findClasses(boolean initialize,
java.lang.ClassLoader classLoader,
java.lang.String... names)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Class<?> clazz,
java.lang.String simpleName)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Package pkg,
java.lang.String simpleName)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Class<?> clazz,
java.lang.String simpleName,
java.lang.ClassLoader classLoader)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Package pkg,
java.lang.String simpleName,
java.lang.ClassLoader classLoader)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Class<?> clazz,
java.lang.String simpleName,
boolean initialize)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Package pkg,
java.lang.String simpleName,
boolean initialize)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Class<?> clazz,
java.lang.String simpleName,
boolean initialize,
java.lang.ClassLoader classLoader)
@Nullable
public static java.lang.Class<?> findClassFrom(@Nullable
java.lang.Package pkg,
java.lang.String simpleName,
boolean initialize,
java.lang.ClassLoader classLoader)
public static byte[] getClassBytes(java.lang.Class<?> clazz)
public static java.net.URL getJarResource(java.lang.String path,
java.lang.String relativePath)
public static java.lang.String getResourcePath(java.lang.String className)
@Nullable
public static java.net.URL getSourceURL(@Nullable
java.lang.String className,
java.lang.ClassLoader loader)
@Nullable
public static java.net.URL getSourceURL(@Nullable
java.lang.Class<?> clazz)
@Nullable
public static java.lang.String getSourceURLStr(@Nullable
java.lang.String className,
java.lang.ClassLoader loader)
@Nullable
public static <T> T initialize(@Nullable
java.lang.Class<T> clazz,
java.lang.Object... args)
public static java.lang.String internalName(java.lang.Class<?> clazz)
public static java.lang.String internalName(java.lang.String classpath)
public static void loadClass(java.lang.String classpath,
byte[] bytes)
public static void loadClass(java.lang.ClassLoader classLoader,
java.lang.String classpath,
byte[] bytes)
public static void loadClass(java.lang.Class<?> clazz)
public static void loadClass(java.lang.ClassLoader classLoader,
@Nullable
java.lang.Class<?> clazz)
public static boolean loadURL(java.net.URLClassLoader classLoader,
java.net.URL url)
public static void moveClassTo(java.lang.Class<?> c,
java.lang.ClassLoader target)
public static java.lang.String packageName(@Nullable
java.lang.Class<?> clazz)
public static java.lang.Class<?> resolveClass(java.lang.ClassLoader classLoader,
@Nullable
java.lang.Class<?> clazz)
public static java.lang.String signature(java.lang.Class<?> clazz,
java.lang.Class<?>... parameters)
public static java.lang.String signatureClasspath(java.lang.String classpath,
java.lang.String... parameterPaths)
public static java.lang.String signatureDesc(java.lang.String desc,
java.lang.String... parameterDescs)
public static java.lang.String signatureInternal(java.lang.String name,
java.lang.String... parameterNames)
public static void syncSourcesAndLoadClass(java.lang.ClassLoader syncFrom,
java.lang.ClassLoader syncTo,
java.lang.String className,
java.util.function.BiFunction<java.lang.ClassLoader,java.net.URL,java.lang.Boolean> urlLoader)
public static java.lang.Class<?> syncDirect(java.lang.ClassLoader loader,
java.lang.Class<?> clazz)
public static void syncSourcesForClass(java.lang.ClassLoader syncFrom,
java.lang.ClassLoader syncTo,
java.lang.String className,
java.util.function.BiFunction<java.lang.ClassLoader,java.net.URL,java.lang.Boolean> urlLoader,
@Nullable
java.lang.String... classesToLoad)
public static java.lang.String withPkgName(@Nullable
java.lang.Class<?> ref,
java.lang.String simpleName)
public static java.lang.String withPkgName(@Nullable
java.lang.Package pkg,
java.lang.String simpleName)