Package io.github.classgraph
Class ModuleRef
- java.lang.Object
-
- io.github.classgraph.ModuleRef
-
- All Implemented Interfaces:
Comparable<ModuleRef>
public class ModuleRef extends Object implements Comparable<ModuleRef>
A ModuleReference proxy, written using reflection to preserve backwards compatibility with JDK 7 and 8.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(ModuleRef o)booleanequals(Object obj)ClassLoadergetClassLoader()ObjectgetDescriptor()ObjectgetLayer()URIgetLocation()FilegetLocationFile()StringgetLocationStr()StringgetName()List<String>getPackages()StringgetRawVersion()Get the raw version string of the module, or null if the module did not provide one.ObjectgetReference()inthashCode()booleanisSystemModule()ModuleReaderProxyopen()Open the module, returning aModuleReaderProxy.StringtoString()
-
-
-
Method Detail
-
getName
public String getName()
- Returns:
- The module name, i.e.
getReference().descriptor().name().
-
getReference
public Object getReference()
- Returns:
- The module reference (of JPMS type ModuleReference).
-
getLayer
public Object getLayer()
- Returns:
- The module layer (of JPMS type ModuleLayer).
-
getDescriptor
public Object getDescriptor()
- Returns:
- The module descriptor, i.e.
getReference().descriptor()(of JPMS type ModuleDescriptor).
-
getPackages
public List<String> getPackages()
- Returns:
- The list of packages in the module. (Does not include non-package directories.)
-
getLocation
public URI getLocation()
- Returns:
- The module location, i.e.
getReference().location(). Returns null for modules that do not have a location.
-
getLocationStr
public String getLocationStr()
- Returns:
- The module location as a string, i.e.
getReference().location().toString(). Returns null for modules that do not have a location.
-
getLocationFile
public File getLocationFile()
- Returns:
- The module location as a File, i.e.
new File(getReference().location()). Returns null for modules that do not have a location, or for system ("jrt:/") modules.
-
getRawVersion
public String getRawVersion()
Get the raw version string of the module, or null if the module did not provide one.- Returns:
- The raw version of the module, obtained by
ModuleReference#rawVersion().orElse(null).
-
isSystemModule
public boolean isSystemModule()
- Returns:
- true if this module's location is a non-"file:/" ("jrt:/") URI, or if it has no location URI, or if it uses the (null) bootstrap ClassLoader, or if the module name starts with a system prefix ("java.", "jre.", etc.).
-
getClassLoader
public ClassLoader getClassLoader()
- Returns:
- The classloader for the module, i.e.
moduleLayer.findLoader(getReference().descriptor().name()).
-
compareTo
public int compareTo(ModuleRef o)
- Specified by:
compareToin interfaceComparable<ModuleRef>
-
open
public ModuleReaderProxy open() throws IOException
Open the module, returning aModuleReaderProxy.- Returns:
- A
ModuleReaderProxyfor the module. - Throws:
IOException- If the module cannot be opened.
-
-