- All Implemented Interfaces:
Comparable<ModuleDescriptor.Exports>
- Enclosing class:
- ModuleDescriptor
public static final class ModuleDescriptor.Exports extends Object implements Comparable<ModuleDescriptor.Exports>
A package exported by a module, may be qualified or unqualified.
- Since:
- 9
- See Also:
ModuleDescriptor.exports()
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ModuleDescriptor.Exports.Modifier
A modifier on an exported package. -
Method Summary
Modifier and Type Method Description int
compareTo(ModuleDescriptor.Exports that)
Compares this module export to another.boolean
equals(Object ob)
Tests this module export for equality with the given object.int
hashCode()
Computes a hash code for this module export.boolean
isQualified()
Returnstrue
if this is a qualified export.Set<ModuleDescriptor.Exports.Modifier>
modifiers()
Returns the set of modifiers.String
source()
Returns the package name.Set<String>
targets()
For a qualified export, returns the non-empty and immutable set of the module names to which the package is exported.String
toString()
Returns a string describing the exported package.
-
Method Details
-
modifiers
Returns the set of modifiers.- Returns:
- A possibly-empty unmodifiable set of modifiers
-
isQualified
public boolean isQualified()Returnstrue
if this is a qualified export.- Returns:
true
if this is a qualified export
-
source
Returns the package name.- Returns:
- The package name
-
targets
For a qualified export, returns the non-empty and immutable set of the module names to which the package is exported. For an unqualified export, returns an empty set.- Returns:
- The set of target module names or for an unqualified export, an empty set
-
compareTo
Compares this module export to another.Two
Exports
objects are compared by comparing the package names lexicographically. Where the packages names are equal then the sets of modifiers are compared in the same way that module modifiers are compared (seeModuleDescriptor.compareTo
). Where the package names are equal and the set of modifiers are equal then the set of target modules are compared. This is done by sorting the names of the target modules in ascending order, and according to their natural ordering, and then comparing the corresponding elements lexicographically. Where the sets differ in size, and the larger set contains all elements of the smaller set, then the larger set is considered to succeed the smaller set.- Specified by:
compareTo
in interfaceComparable<ModuleDescriptor.Exports>
- Parameters:
that
- The module export to compare- Returns:
- A negative integer, zero, or a positive integer if this module export is less than, equal to, or greater than the given export dependence
-
hashCode
public int hashCode()Computes a hash code for this module export.The hash code is based upon the modifiers, the package name, and for a qualified export, the set of modules names to which the package is exported. It satisfies the general contract of the
Object.hashCode
method.- Overrides:
hashCode
in classObject
- Returns:
- The hash-code value for this module export
- See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
Tests this module export for equality with the given object.If the given object is not an
Exports
then this method returnsfalse
. Two module exports objects are equal if their set of modifiers is equal, the package names are equal and the set of target module names is equal.This method satisfies the general contract of the
Object.equals
method.- Overrides:
equals
in classObject
- Parameters:
ob
- the object to which this object is to be compared- Returns:
true
if, and only if, the given object is a module dependence that is equal to this module dependence- See Also:
Object.hashCode()
,HashMap
-
toString
Returns a string describing the exported package.
-