Class DynamicType.Builder.AbstractBase.Adapter.ModuleDefinitionAdapter

All Implemented Interfaces:
DynamicType.Builder<U>, DynamicType.Builder.ModuleDefinition<U>
Enclosing class:
DynamicType.Builder.AbstractBase.Adapter<U>

@Enhance(includeSyntheticFields=true) protected class DynamicType.Builder.AbstractBase.Adapter.ModuleDefinitionAdapter extends DynamicType.Builder.ModuleDefinition.AbstractBase<U>
An adapter for defining a module.
  • Field Details

  • Constructor Details

    • ModuleDefinitionAdapter

      protected ModuleDefinitionAdapter(String name, int modifiers)
    • ModuleDefinitionAdapter

      protected ModuleDefinitionAdapter(String name, int modifiers, @MaybeNull String version, @MaybeNull String mainClass, Set<String> packages, Map<String, ModuleDescription.Requires> requires, Map<String, ModuleDescription.Exports> exports, Map<String, ModuleDescription.Opens> opens, Set<String> uses, Map<String, ModuleDescription.Provides> provides)
      Creates a new module definition adapter.
      Parameters:
      name - The name of the module.
      modifiers - The modifiers of the module.
      version - The module version or null if no version was specified.
      mainClass - The module's main class or null if no main class was specified.
      packages - The module's packages.
      requires - The modules that this module requires.
      exports - The packages that this module exports.
      opens - The packages that this module opens.
      uses - The services that this module uses.
      provides - The services that this module provides.
  • Method Details

    • version

      Specifies the version of the module being defined.
      Parameters:
      version - The version of the module or null if no version is to be specified.
      Returns:
      A new builder that is equal to this builder but with the given version specification.
    • mainClass

      Specifies the main class of the module being defined.
      Parameters:
      name - The name of the main class of the module or null if no main class is to be specified.
      Returns:
      A new builder that is equal to this builder but with the given main class specification.
    • packages

      Specifies the packages that are contained within the module being defined.
      Parameters:
      packages - The names of the packages contained within the module.
      Returns:
      A new builder that is equal to this builder but with the given package specifications.
    • require

      public DynamicType.Builder.ModuleDefinition.RequiresDefinition<U> require(String module, int modifiers)
      Specifies a module requirement with explicit modifiers.
      Parameters:
      module - The name of the module that is required.
      modifiers - The modifiers to apply to the module requirement.
      Returns:
      A builder for defining the module requirement.
    • export

      public DynamicType.Builder.ModuleDefinition.ExportsDefinition<U> export(String aPackage, int modifiers)
      Specifies a package export with explicit modifiers.
      Parameters:
      aPackage - The name of the package to export.
      modifiers - The modifiers to apply to the package export.
      Returns:
      A new builder that is equal to this builder but with the given package export.
    • open

      public DynamicType.Builder.ModuleDefinition.OpensDefinition<U> open(String aPackage, int modifiers)
      Specifies a package opening with explicit modifiers.
      Parameters:
      aPackage - The name of the package to open.
      modifiers - The modifiers to apply to the package opening.
      Returns:
      A new builder that is equal to this builder but with the given package opening.
    • uses

      Specifies services that are used by the module being defined.
      Parameters:
      services - The names of the types of the services to use.
      Returns:
      A new builder that is equal to this builder but with the given service uses.
    • provides

      public DynamicType.Builder.ModuleDefinition<U> provides(String service, Collection<String> implementations)
      Specifies service implementations that are provided by the module being defined.
      Parameters:
      service - The name of the type of the service for which implementations are provided.
      implementations - The names of the types of the implementations that are provided.
      Returns:
      A new builder that is equal to this builder but with the given service provision.
    • materialize

      protected DynamicType.Builder<U> materialize()
      Description copied from class: DynamicType.Builder.AbstractBase.Delegator
      Creates a new builder that realizes the current state of the builder.
      Specified by:
      materialize in class DynamicType.Builder.AbstractBase.Delegator<U>
      Returns:
      A new builder that realizes the current state of the builder.