Class IsolatedClassRealm
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.fedoraproject.xmvn.tools.install.impl.IsolatedClassRealm
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
class IsolatedClassRealm extends java.net.URLClassLoader
A generic, isolated class loader.This class loader has its own classpath, separate from the primary Java classpath. It has a parent class loader, to which it delegates loading a set of imported classes. All other classes are loaded from its own classpath.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.String>
imports
private java.util.Set<java.lang.String>
importsAll
private java.lang.ClassLoader
parent
-
Constructor Summary
Constructors Constructor Description IsolatedClassRealm(java.lang.ClassLoader parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addJar(java.nio.file.Path jar)
void
addJarDirectory(java.nio.file.Path dir)
protected java.lang.Class<?>
findClass(java.lang.String name)
java.net.URL
getResource(java.lang.String name)
java.util.Enumeration<java.net.URL>
getResources(java.lang.String name)
void
importAllPackages(java.lang.String packageName)
void
importPackage(java.lang.String packageName)
(package private) boolean
isImported(java.lang.String name)
java.lang.Class<?>
loadClass(java.lang.String name)
protected java.lang.Class<?>
loadClass(java.lang.String name, boolean resolve)
-
Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Method Detail
-
addJar
public void addJar(java.nio.file.Path jar)
-
addJarDirectory
public void addJarDirectory(java.nio.file.Path dir)
-
importPackage
public void importPackage(java.lang.String packageName)
-
importAllPackages
public void importAllPackages(java.lang.String packageName)
-
isImported
boolean isImported(java.lang.String name)
-
loadClass
public java.lang.Class<?> loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
findClass
protected java.lang.Class<?> findClass(java.lang.String name) throws java.lang.ClassNotFoundException
- Overrides:
findClass
in classjava.net.URLClassLoader
- Throws:
java.lang.ClassNotFoundException
-
getResource
public java.net.URL getResource(java.lang.String name)
- Overrides:
getResource
in classjava.lang.ClassLoader
-
getResources
public java.util.Enumeration<java.net.URL> getResources(java.lang.String name) throws java.io.IOException
- Overrides:
getResources
in classjava.lang.ClassLoader
- Throws:
java.io.IOException
-
-