APIdia Launch Partner
Top Description Fields Constructors Methods
jdk.internal.module

pack-priv final Class Builder

extends Object
Class Inheritance
Imports
java.lang.module.ModuleDescriptor, .ModuleDescriptor.Exports, .ModuleDescriptor.Opens, .ModuleDescriptor.Provides, .ModuleDescriptor.Requires, .ModuleDescriptor.Version, java.util.List, .Set, jdk.internal.access.JavaLangModuleAccess, .SharedSecrets

This builder is optimized for reconstituting the ModuleDescriptors for system modules. The validation should be done at jlink time. 1. skip name validation 2. ignores dependency hashes. 3. ModuleDescriptor skips the defensive copy and directly uses the sets/maps created in this Builder. SystemModules should contain modules for the boot layer.

Field Summary

Modifier and TypeField and Description
pack-priv static ModuleDescriptor.Version
pack-priv Set<ModuleDescriptor.Exports>
private static final JavaLangModuleAccess
pack-priv String
pack-priv boolean
pack-priv final String
pack-priv boolean
pack-priv Set<ModuleDescriptor.Opens>
pack-priv Set<String>
pack-priv Set<ModuleDescriptor.Provides>
pack-priv Set<ModuleDescriptor.Requires>
pack-priv boolean
pack-priv Set<String>
pack-priv ModuleDescriptor.Version

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public ModuleDescriptor
build(int hashCode)

Builds a ModuleDescriptor from the components.

public Builder
exports(ModuleDescriptor.Exports[] exports)

Sets module exports.

public Builder
mainClass(String mc)

Sets the module main class.

pack-priv Builder
mandated(boolean value)

private Set<ModuleDescriptor.Modifier>
modifiers()

Returns an immutable set of the module modifiers derived from the flags.

public static ModuleDescriptor.Exports
newExports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn, Set<String> targets)

Returns a Exports for a qualified export, with the given (and possibly empty) set of modifiers, to a set of target modules.

public static ModuleDescriptor.Exports
newExports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn)

Returns a Exports for an unqualified export with a given set of modifiers.

public static ModuleDescriptor.Opens
newOpens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn)

Returns an Opens for an unqualified open with a given set of modifiers.

public static ModuleDescriptor.Opens
newOpens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn, Set<String> targets)

Returns an Opens for a qualified opens, with the given (and possibly empty) set of modifiers, to a set of target modules.

public static ModuleDescriptor.Provides
newProvides(String st, List<String> pcs)

Returns a Provides for a service with a given list of implementation classes.

public static ModuleDescriptor.Requires
newRequires(Set<ModuleDescriptor.Requires.Modifier> mods, String mn, String compiledVersion)

Returns a Requires for a dependence on a module with the given (and possibly empty) set of modifiers, and optionally the version recorded at compile time.

public static ModuleDescriptor.Requires
newRequires(Set<ModuleDescriptor.Requires.Modifier> mods, String mn)

Returns a Requires for a dependence on a module with the given (and possibly empty) set of modifiers, and optionally the version recorded at compile time.

pack-priv Builder
open(boolean value)

public Builder
opens(ModuleDescriptor.Opens[] opens)

Sets module opens.

public Builder
packages(Set<String> packages)

Adds a set of (possible empty) packages.

public Builder
provides(ModuleDescriptor.Provides[] provides)

Sets module provides.

public Builder
requires(ModuleDescriptor.Requires[] requires)

Sets module requires.

pack-priv Builder
synthetic(boolean value)

public Builder
uses(Set<String> uses)

Sets the set of service dependences.

public Builder
version(String v)

Sets the module version.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

cachedVersionback to summary
pack-priv static ModuleDescriptor.Version cachedVersion
exportsback to summary
pack-priv Set<ModuleDescriptor.Exports> exports
JLMAback to summary
private static final JavaLangModuleAccess JLMA
mainClassback to summary
pack-priv String mainClass
mandatedback to summary
pack-priv boolean mandated
nameback to summary
pack-priv final String name
openback to summary
pack-priv boolean open
opensback to summary
pack-priv Set<ModuleDescriptor.Opens> opens
packagesback to summary
pack-priv Set<String> packages
providesback to summary
pack-priv Set<ModuleDescriptor.Provides> provides
requiresback to summary
pack-priv Set<ModuleDescriptor.Requires> requires
syntheticback to summary
pack-priv boolean synthetic
usesback to summary
pack-priv Set<String> uses
versionback to summary
pack-priv ModuleDescriptor.Version version

Constructor Detail

Builderback to summary
pack-priv Builder(String name)

Method Detail

buildback to summary
public ModuleDescriptor build(int hashCode)

Builds a ModuleDescriptor from the components.

exportsback to summary
public Builder exports(ModuleDescriptor.Exports[] exports)

Sets module exports.

mainClassback to summary
public Builder mainClass(String mc)

Sets the module main class.

mandatedback to summary
pack-priv Builder mandated(boolean value)
modifiersback to summary
private Set<ModuleDescriptor.Modifier> modifiers()

Returns an immutable set of the module modifiers derived from the flags.

newExportsback to summary
public static ModuleDescriptor.Exports newExports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn, Set<String> targets)

Returns a Exports for a qualified export, with the given (and possibly empty) set of modifiers, to a set of target modules.

newExportsback to summary
public static ModuleDescriptor.Exports newExports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn)

Returns a Exports for an unqualified export with a given set of modifiers.

newOpensback to summary
public static ModuleDescriptor.Opens newOpens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn)

Returns an Opens for an unqualified open with a given set of modifiers.

newOpensback to summary
public static ModuleDescriptor.Opens newOpens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn, Set<String> targets)

Returns an Opens for a qualified opens, with the given (and possibly empty) set of modifiers, to a set of target modules.

newProvidesback to summary
public static ModuleDescriptor.Provides newProvides(String st, List<String> pcs)

Returns a Provides for a service with a given list of implementation classes.

newRequiresback to summary
public static ModuleDescriptor.Requires newRequires(Set<ModuleDescriptor.Requires.Modifier> mods, String mn, String compiledVersion)

Returns a Requires for a dependence on a module with the given (and possibly empty) set of modifiers, and optionally the version recorded at compile time.

newRequiresback to summary
public static ModuleDescriptor.Requires newRequires(Set<ModuleDescriptor.Requires.Modifier> mods, String mn)

Returns a Requires for a dependence on a module with the given (and possibly empty) set of modifiers, and optionally the version recorded at compile time.

openback to summary
pack-priv Builder open(boolean value)
opensback to summary
public Builder opens(ModuleDescriptor.Opens[] opens)

Sets module opens.

packagesback to summary
public Builder packages(Set<String> packages)

Adds a set of (possible empty) packages.

providesback to summary
public Builder provides(ModuleDescriptor.Provides[] provides)

Sets module provides.

requiresback to summary
public Builder requires(ModuleDescriptor.Requires[] requires)

Sets module requires.

syntheticback to summary
pack-priv Builder synthetic(boolean value)
usesback to summary
public Builder uses(Set<String> uses)

Sets the set of service dependences.

versionback to summary
public Builder version(String v)

Sets the module version.

Exceptions
IllegalArgumentException:
if v is null or cannot be parsed as a version string
See Also
Version#parse(String)