Class DynamicType.Builder.AbstractBase.Adapter.ModuleDefinitionAdapter

    • Field Detail

      • name

        private final java.lang.String name
        The name of the module.
      • modifiers

        private final int modifiers
        The modifiers of the module.
      • packages

        private final java.util.Set<java.lang.String> packages
        The module's packages.
      • requires

        private final java.util.Map<java.lang.String,​ModuleDescription.Requires> requires
        The modules that this module requires.
      • exports

        private final java.util.Map<java.lang.String,​ModuleDescription.Exports> exports
        The packages that this module exports.
      • opens

        private final java.util.Map<java.lang.String,​ModuleDescription.Opens> opens
        The packages that this module opens.
      • uses

        private final java.util.Set<java.lang.String> uses
        The services that this module uses.
      • provides

        private final java.util.Map<java.lang.String,​ModuleDescription.Provides> provides
        The services that this module provides.
    • Constructor Detail

      • ModuleDefinitionAdapter

        protected ModuleDefinitionAdapter​(java.lang.String name,
                                          int modifiers)
      • ModuleDefinitionAdapter

        protected ModuleDefinitionAdapter​(java.lang.String name,
                                          int modifiers,
                                          @MaybeNull
                                          java.lang.String version,
                                          @MaybeNull
                                          java.lang.String mainClass,
                                          java.util.Set<java.lang.String> packages,
                                          java.util.Map<java.lang.String,​ModuleDescription.Requires> requires,
                                          java.util.Map<java.lang.String,​ModuleDescription.Exports> exports,
                                          java.util.Map<java.lang.String,​ModuleDescription.Opens> opens,
                                          java.util.Set<java.lang.String> uses,
                                          java.util.Map<java.lang.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 Detail

      • version

        public DynamicType.Builder.ModuleDefinition<U> version​(@MaybeNull
                                                               java.lang.String 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

        public DynamicType.Builder.ModuleDefinition<U> mainClass​(@MaybeNull
                                                                 java.lang.String name)
        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

        public DynamicType.Builder.ModuleDefinition<U> packages​(java.util.Collection<java.lang.String> 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​(java.lang.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​(java.lang.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​(java.lang.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

        public DynamicType.Builder.ModuleDefinition<U> uses​(java.util.Collection<java.lang.String> services)
        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​(java.lang.String service,
                                                                java.util.Collection<java.lang.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.