- java.lang.Object
-
- java.lang.module.ModuleDescriptor.Builder
-
- Enclosing class:
- ModuleDescriptor
public static final class ModuleDescriptor.Builder extends Object
A builder for buildingModuleDescriptorobjects.ModuleDescriptordefines thenewModule,newOpenModule, andnewAutomaticModulemethods to create builders for building normal, open, and automatic modules.The set of packages in the module are accumulated by the
Builderas theexports,opens,packages,provides, andmainClassmethods are invoked.The module names, package names, and class names that are parameters specified to the builder methods are the module names, package names, and qualified names of classes (in named packages) as defined in the The Java™ Language Specification.
Example usage:
ModuleDescriptor descriptor = ModuleDescriptor.newModule("stats.core") .requires("java.base") .exports("org.acme.stats.core.clustering") .exports("org.acme.stats.core.regression") .packages(Set.of("org.acme.stats.core.internal")) .build();- API Note:
- A
Builderchecks the components and invariants as components are added to the builder. The rationale for this is to detect errors as early as possible and not defer all validation to thebuildmethod. - Since:
- 9
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ModuleDescriptorbuild()Builds and returns aModuleDescriptorfrom its components.ModuleDescriptor.Builderexports(ModuleDescriptor.Exports e)Adds an exported package.ModuleDescriptor.Builderexports(String pn)Adds an exported package.ModuleDescriptor.Builderexports(String pn, Set<String> targets)Adds an exported package.ModuleDescriptor.Builderexports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn)Adds an exported package with the given (and possibly empty) set of modifiers.ModuleDescriptor.Builderexports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn, Set<String> targets)Adds an exported package with the given (and possibly empty) set of modifiers.ModuleDescriptor.BuildermainClass(String mc)Sets the module main class.ModuleDescriptor.Builderopens(ModuleDescriptor.Opens obj)Adds an open package.ModuleDescriptor.Builderopens(String pn)Adds an open package.ModuleDescriptor.Builderopens(String pn, Set<String> targets)Adds an open package.ModuleDescriptor.Builderopens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn)Adds an open package with the given (and possibly empty) set of modifiers.ModuleDescriptor.Builderopens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn, Set<String> targets)Adds an open package with the given (and possibly empty) set of modifiers.ModuleDescriptor.Builderpackages(Set<String> pns)Adds packages to the module.ModuleDescriptor.Builderprovides(ModuleDescriptor.Provides p)Provides a service with one or more implementations.ModuleDescriptor.Builderprovides(String service, List<String> providers)Provides implementations of a service.ModuleDescriptor.Builderrequires(ModuleDescriptor.Requires req)Adds a dependence on a module.ModuleDescriptor.Builderrequires(String mn)Adds a dependence on a module with an empty set of modifiers.
-