public final class ClassUtil
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
ClassUtil.ClassGetter
This small inner class is needed to get information about static classes.
|
private static class |
ClassUtil.ClassInstantiator |
static class |
ClassUtil.Package
Represents a package name.
|
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
FILE |
private static java.lang.String |
JAR_FILE |
private static boolean |
ms_bEnableFindSubclasses |
private static java.util.Hashtable |
ms_loadedClasses
Stores all loaded classes.
|
private static java.util.Vector |
ms_loadedDirectories
Stores all loaded directories.
|
Modifier | Constructor and Description |
---|---|
private |
ClassUtil()
This class works without being initialised and is completely static.
|
Modifier and Type | Method and Description |
---|---|
static void |
addFileToClasspath(java.io.File a_file) |
static void |
addFileToClasspath(java.lang.String a_file) |
static void |
addURLToClasspath(java.net.URL a_url) |
static void |
enableFindSubclasses(boolean a_benable) |
static java.util.Vector |
findSubclasses(java.lang.Class a_class)
Gets all classes that extend the given class or implement the given
interface, including the class itself.
|
static java.lang.Class |
getCallingClassStatic()
Returns the class that called the current method.
|
static java.io.File |
getClassDirectory(java.lang.Class a_class)
Returns the class directory of the specified class.
|
static java.io.File |
getClassDirectory(java.lang.String a_className) |
static java.lang.String |
getClassNameStatic()
Returns the name, including the package, of the calling method's class.
|
static java.lang.String |
getClassPath()
Returns the current java class path.
|
protected static java.lang.String |
getClassPath(boolean a_bPreventLoop)
Returns the current java class path.
|
static java.lang.Class |
getClassStatic()
Returns the current class from a static context.
|
static java.io.File |
getFile() |
static java.lang.Class |
getFirstClassFound(java.io.File a_file)
Traverse a file, directory or zip/jar file recursive until a class file is found and
instantiated or all files are traversed.
|
static java.util.zip.ZipFile |
getJarFile()
returns a Java Object of the JAP.jar or null if JAP is not started as jar-file
|
static java.util.zip.ZipFile |
getJarFile(java.lang.Class a_class) |
static java.io.File |
getResourceDirectory(java.lang.String a_classOrResourceName,
java.lang.Class a_class)
Returns the class/resource directory of the specified class/resource.
|
static java.lang.String |
getShortClassName(java.lang.Class a_class)
Gets the name of a class without package (everything before the last "." is removed).
|
static java.lang.String |
getUserDir()
Returns the content of the system property user.dir
|
static boolean |
isFindSubclassesEnabled() |
static java.util.Enumeration |
loadClasses()
Loads all classes into cache that are in the same file structure as this class
and as the calling class.
|
static java.util.Enumeration |
loadClasses(java.lang.Class a_rootClass) |
private static java.util.Enumeration |
loadClasses(java.lang.Class a_rootClass,
java.io.File a_directory)
Loads all classes into cache that are in the same file structure as
the given class and as the calling class.
|
static java.util.Enumeration |
loadClasses(java.io.File a_classDirectory) |
private static void |
loadClassesInternal(java.lang.Class a_rootClass,
java.io.File a_directory)
Loads all classes into cache that are in the same file structure as the given class.
|
private static java.lang.Class |
toClass(java.io.File a_classFile,
java.io.File a_classDirectory)
Turns class files into Class objects.
|
static java.lang.String |
toRelativeResourcePath(java.lang.Class a_class)
Generates a relative resource path to the given class.
|
private static final java.lang.String JAR_FILE
private static final java.lang.String FILE
private static java.util.Hashtable ms_loadedClasses
private static java.util.Vector ms_loadedDirectories
private static boolean ms_bEnableFindSubclasses
private ClassUtil()
public static void addFileToClasspath(java.lang.String a_file) throws java.io.IOException, java.lang.IllegalAccessException
java.io.IOException
java.lang.IllegalAccessException
public static void addFileToClasspath(java.io.File a_file) throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static void addURLToClasspath(java.net.URL a_url) throws java.lang.IllegalAccessException
java.lang.IllegalAccessException
public static java.lang.String getShortClassName(java.lang.Class a_class)
a_class
- a Classpublic static java.lang.Class getClassStatic()
this
is not available there.public static java.lang.String getClassNameStatic()
public static java.lang.Class getCallingClassStatic()
public static java.lang.String getUserDir()
public static java.lang.String getClassPath()
public static void enableFindSubclasses(boolean a_benable)
public static boolean isFindSubclassesEnabled()
public static java.util.Vector findSubclasses(java.lang.Class a_class)
a_class
- a Classpublic static java.util.Enumeration loadClasses()
public static java.util.Enumeration loadClasses(java.lang.Class a_rootClass)
public static java.util.Enumeration loadClasses(java.io.File a_classDirectory)
private static java.util.Enumeration loadClasses(java.lang.Class a_rootClass, java.io.File a_directory)
a_rootClass
- the class from that loading is startedpublic static java.io.File getClassDirectory(java.lang.String a_className)
public static java.io.File getFile()
public static java.util.zip.ZipFile getJarFile()
public static java.util.zip.ZipFile getJarFile(java.lang.Class a_class)
public static java.io.File getClassDirectory(java.lang.Class a_class) throws java.lang.NullPointerException
ZipFile
.a_class
- a classjava.lang.NullPointerException
public static java.io.File getResourceDirectory(java.lang.String a_classOrResourceName, java.lang.Class a_class) throws java.lang.NullPointerException
ZipFile
.a_classOrResourceName
- a filename of a class/resource to lock fora_class
- a class of which the classloader is used to lock for the requested class/resourcejava.lang.NullPointerException
public static java.lang.String toRelativeResourcePath(java.lang.Class a_class)
a_class
- Classpublic static java.lang.Class getFirstClassFound(java.io.File a_file)
a_file
- a file, directory or zip/jar fileprotected static java.lang.String getClassPath(boolean a_bPreventLoop)
a_bPreventLoop
- true if a loop with calls in the ResourceLoader must be preventedprivate static void loadClassesInternal(java.lang.Class a_rootClass, java.io.File a_directory) throws java.io.IOException
a_rootClass
- the class from that loading is startedan
- optional directory or jar/zip file to load the classes fromjava.io.IOException
- if an I/O error occursprivate static java.lang.Class toClass(java.io.File a_classFile, java.io.File a_classDirectory)
a_classFile
- a class file with full directory patha_classDirectory
- the directory where all class files and class directories resideCopyright © 2023. All rights reserved.