Package net.neoforged.fml.classloading
Class ModuleClassLoader.ModuleInfo
java.lang.Object
net.neoforged.fml.classloading.ModuleClassLoader.ModuleInfo
- All Implemented Interfaces:
AutoCloseable
- Enclosing class:
ModuleClassLoader
Caches the module reader for a module, including its protection domain.
Ensures that we can clean up module readers when the loader is closed.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ModuleReaderprivate booleanprivate final ReentrantLockprivate final ModuleReferenceprivate final Stringprivate final ProtectionDomain -
Constructor Summary
ConstructorsConstructorDescriptionModuleInfo(ClassLoader classLoader, String name, ModuleReference moduleReference) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()(package private) ModuleReaderGets a ModuleReader for this module, opening one on demand if needed.
-
Field Details
-
name
-
moduleReference
-
lock
-
protectionDomain
-
cachedReader
-
closed
private volatile boolean closed
-
-
Constructor Details
-
ModuleInfo
ModuleInfo(ClassLoader classLoader, String name, ModuleReference moduleReference)
-
-
Method Details
-
getReader
Gets a ModuleReader for this module, opening one on demand if needed.- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
IOException
-