ModuleDescriptor.Opens (Java SE 10 & JDK 10 ) (original) (raw)
- java.lang.module.ModuleDescriptor.Opens
All Implemented Interfaces:
[Comparable](../../../java/lang/Comparable.html "interface in java.lang")<[ModuleDescriptor.Opens](../../../java/lang/module/ModuleDescriptor.Opens.html "class in java.lang.module")>
Enclosing class:
ModuleDescriptor
public static final class ModuleDescriptor.Opens
extends Object
implements Comparable<ModuleDescriptor.Opens>
A package opened by a module, may be qualified or unqualified.
The opens directive in a module declaration declares a package to be open to allow all types in the package, and all their members, not just public types and their public members to be reflected on by APIs that support private access or a way to bypass or suppress default Java language access control checks.
Since:
9
See Also:
ModuleDescriptor.opens()
Nested Class Summary
Nested Classes
Modifier and Type Class Description static class ModuleDescriptor.Opens.Modifier A modifier on an open package. Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type Method Description int compareTo(ModuleDescriptor.Opens that) Compares this module opens to another. boolean equals(Object ob) Tests this module opens for equality with the given object. int hashCode() Computes a hash code for this module opens. boolean isQualified() Returns true if this is a qualified opens. Set<ModuleDescriptor.Opens.Modifier> modifiers() Returns the set of modifiers. String source() Returns the package name. Set<String> targets() For a qualified opens, returns the non-empty and immutable set of the module names to which the package is open. String toString() Returns a string describing the open package. * ### Methods declared in class java.lang.[Object](../../../java/lang/Object.html "class in java.lang") `[clone](../../../java/lang/Object.html#clone%28%29), [finalize](../../../java/lang/Object.html#finalize%28%29), [getClass](../../../java/lang/Object.html#getClass%28%29), [notify](../../../java/lang/Object.html#notify%28%29), [notifyAll](../../../java/lang/Object.html#notifyAll%28%29), [wait](../../../java/lang/Object.html#wait%28%29), [wait](../../../java/lang/Object.html#wait%28long%29), [wait](../../../java/lang/Object.html#wait%28long,int%29)`
Method Detail
* #### modifiers public [Set](../../../java/util/Set.html "interface in java.util")<[ModuleDescriptor.Opens.Modifier](../../../java/lang/module/ModuleDescriptor.Opens.Modifier.html "enum in java.lang.module")> modifiers() Returns the set of modifiers. Returns: A possibly-empty unmodifiable set of modifiers * #### isQualified public boolean isQualified() Returns `true` if this is a qualified opens. Returns: `true` if this is a qualified opens * #### source public [String](../../../java/lang/String.html "class in java.lang") source() Returns the package name. Returns: The package name * #### targets public [Set](../../../java/util/Set.html "interface in java.util")<[String](../../../java/lang/String.html "class in java.lang")> targets() For a qualified opens, returns the non-empty and immutable set of the module names to which the package is open. For an unqualified opens, returns an empty set. Returns: The set of target module names or for an unqualified opens, an empty set * #### compareTo public int compareTo([ModuleDescriptor.Opens](../../../java/lang/module/ModuleDescriptor.Opens.html "class in java.lang.module") that) Compares this module opens to another. Two `Opens` 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 (see [ModuleDescriptor.compareTo](../../../java/lang/module/ModuleDescriptor.html#compareTo%28java.lang.module.ModuleDescriptor%29)). 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](../../../java/lang/Comparable.html#compareTo%28T%29)` in interface `[Comparable](../../../java/lang/Comparable.html "interface in java.lang")<[ModuleDescriptor.Opens](../../../java/lang/module/ModuleDescriptor.Opens.html "class in java.lang.module")>` Parameters: `that` \- The module opens to compare Returns: A negative integer, zero, or a positive integer if this module opens is less than, equal to, or greater than the given module opens * #### hashCode public int hashCode() Computes a hash code for this module opens. The hash code is based upon the modifiers, the package name, and for a qualified opens, the set of modules names to which the package is opened. It satisfies the general contract of the[Object.hashCode](../../../java/lang/Object.html#hashCode%28%29) method. Overrides: `[hashCode](../../../java/lang/Object.html#hashCode%28%29)` in class `[Object](../../../java/lang/Object.html "class in java.lang")` Returns: The hash-code value for this module opens See Also: [Object.equals(java.lang.Object)](../../../java/lang/Object.html#equals%28java.lang.Object%29), [System.identityHashCode(java.lang.Object)](../../../java/lang/System.html#identityHashCode%28java.lang.Object%29) * #### equals public boolean equals([Object](../../../java/lang/Object.html "class in java.lang") ob) Tests this module opens for equality with the given object. If the given object is not an `Opens` then this method returns `false`. Two `Opens` 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](../../../java/lang/Object.html#equals%28java.lang.Object%29) method. Overrides: `[equals](../../../java/lang/Object.html#equals%28java.lang.Object%29)` in class `[Object](../../../java/lang/Object.html "class in java.lang")` 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()](../../../java/lang/Object.html#hashCode%28%29), [HashMap](../../../java/util/HashMap.html "class in java.util") * #### toString public [String](../../../java/lang/String.html "class in java.lang") toString() Returns a string describing the open package. Overrides: `[toString](../../../java/lang/Object.html#toString%28%29)` in class `[Object](../../../java/lang/Object.html "class in java.lang")` Returns: A string describing the open package
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2018, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.