Class ModuleRef

  • All Implemented Interfaces:
    java.lang.Comparable<ModuleRef>

    public class ModuleRef
    extends java.lang.Object
    implements java.lang.Comparable<ModuleRef>
    A ModuleReference proxy, written using reflection to preserve backwards compatibility with JDK 7 and 8.
    • Constructor Summary

      Constructors 
      Constructor Description
      ModuleRef​(java.lang.Object moduleReference, java.lang.Object moduleLayer)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(ModuleRef o)  
      boolean equals​(java.lang.Object obj)  
      java.lang.ClassLoader getClassLoader()
      Get the class loader for the module.
      java.lang.Object getDescriptor()
      Get the module descriptor, i.e.
      java.lang.Object getLayer()
      Get the module layer (of JPMS type ModuleLayer).
      java.net.URI getLocation()
      Get the module location, i.e.
      java.io.File getLocationFile()
      Get the module location as a File, i.e.
      java.lang.String getLocationStr()
      Get the module location as a string, i.e.
      java.lang.String getName()
      Get the module name, i.e.
      java.util.List<java.lang.String> getPackages()
      Get a list of packages in the module.
      java.lang.String getRawVersion()
      Get the raw version string of the module, or null if the module did not provide one.
      java.lang.Object getReference()
      Get the module reference (of JPMS type ModuleReference).
      int hashCode()  
      boolean isSystemModule()
      Checks if this module is a system module.
      ModuleReaderProxy open()
      Open the module, returning a ModuleReaderProxy.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ModuleRef

        public ModuleRef​(java.lang.Object moduleReference,
                         java.lang.Object moduleLayer)
        Constructor.
        Parameters:
        moduleReference - The module reference, of JPMS type ModuleReference.
        moduleLayer - The module layer, of JPMS type ModuleLayer
    • Method Detail

      • getName

        public java.lang.String getName()
        Get the module name, i.e. getReference().descriptor().name().
        Returns:
        The module name, i.e. getReference().descriptor().name(). Potentially null or empty.
      • getReference

        public java.lang.Object getReference()
        Get the module reference (of JPMS type ModuleReference).
        Returns:
        The module reference (of JPMS type ModuleReference).
      • getLayer

        public java.lang.Object getLayer()
        Get the module layer (of JPMS type ModuleLayer).
        Returns:
        The module layer (of JPMS type ModuleLayer).
      • getDescriptor

        public java.lang.Object getDescriptor()
        Get the module descriptor, i.e. getReference().descriptor() (of JPMS type ModuleDescriptor).
        Returns:
        The module descriptor, i.e. getReference().descriptor() (of JPMS type ModuleDescriptor).
      • getPackages

        public java.util.List<java.lang.String> getPackages()
        Get a list of packages in the module. (Does not include non-package directories.)
        Returns:
        The list of packages in the module. (Does not include non-package directories.)
      • getLocation

        public java.net.URI getLocation()
        Get the module location, i.e. getReference().location(). Returns null for modules that do not have a location.
        Returns:
        The module location, i.e. getReference().location(). Returns null for modules that do not have a location.
      • getLocationStr

        public java.lang.String getLocationStr()
        Get the module location as a string, i.e. getReference().location().toString(). Returns null for modules that do not have a location.
        Returns:
        The module location as a string, i.e. getReference().location().toString(). Returns null for modules that do not have a location.
      • getLocationFile

        public java.io.File getLocationFile()
        Get 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 (or jlinked) modules, which have "jrt:" location URIs that include only the module name and not the module jar location.
        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 modules whole location is a "jrt:" URI.
      • getRawVersion

        public java.lang.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()
        Checks if this module is a system module.
        Returns:
        true if this module is a system module.
      • getClassLoader

        public java.lang.ClassLoader getClassLoader()
        Get the class loader for the module.
        Returns:
        The classloader for the module, i.e. moduleLayer.findLoader(getReference().descriptor().name()).
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • compareTo

        public int compareTo​(ModuleRef o)
        Specified by:
        compareTo in interface java.lang.Comparable<ModuleRef>