Interface ModuleSpec.Builder

Enclosing class:
ModuleSpec

public static interface ModuleSpec.Builder
A builder for new concrete module specifications.
  • Method Details

    • setMainClass

      ModuleSpec.Builder setMainClass(String mainClass)
      Set the main class for this module, or null for none.
      Parameters:
      mainClass - the main class name
      Returns:
      this builder
    • setAssertionSetting

      ModuleSpec.Builder setAssertionSetting(AssertionSetting assertionSetting)
      Set the default assertion setting for this module.
      Parameters:
      assertionSetting - the assertion setting
      Returns:
      this builder
    • addDependency

      ModuleSpec.Builder addDependency(DependencySpec dependencySpec)
      Add a dependency specification.
      Parameters:
      dependencySpec - the dependency specification
      Returns:
      this builder
    • addResourceRoot

      ModuleSpec.Builder addResourceRoot(ResourceLoaderSpec resourceLoader)
      Add a local resource root, from which this module will load class definitions and resources.
      Parameters:
      resourceLoader - the resource loader for the root
      Returns:
      this builder
    • create

      ModuleSpec create()
      Create the module specification from this builder.
      Returns:
      the module specification
    • getIdentifier

      @Deprecated(forRemoval=true) default ModuleIdentifier getIdentifier()
      Deprecated, for removal: This API element is subject to removal in a future version.
      use getName() instead
      Get the identifier of the module being defined by this builder.
      Returns:
      the module identifier
    • getName

      String getName()
      Get the name of the module being defined by this builder.
      Returns:
      the module name
    • setFallbackLoader

      ModuleSpec.Builder setFallbackLoader(LocalLoader fallbackLoader)
      Sets a "fall-back" loader that will attempt to load a class if all other mechanisms are unsuccessful.
      Parameters:
      fallbackLoader - the fall-back loader
      Returns:
      this builder
    • setModuleClassLoaderFactory

      ModuleSpec.Builder setModuleClassLoaderFactory(ModuleClassLoaderFactory moduleClassLoaderFactory)
      Set the module class loader factory to use to create the module class loader for this module.
      Parameters:
      moduleClassLoaderFactory - the factory
      Returns:
      this builder
    • setClassFileTransformer

      @Deprecated ModuleSpec.Builder setClassFileTransformer(ClassFileTransformer classFileTransformer)
      Set the class file transformer to use for this module.
      Parameters:
      classFileTransformer - the class file transformer
      Returns:
      this builder
    • setClassFileTransformer

      ModuleSpec.Builder setClassFileTransformer(ClassTransformer transformer)
      Set the class file transformer function to use for this module. If the given function returns null then no transformation will take place. The function may accept and return a direct or heap byte buffer.
      Parameters:
      transformer - the class file transformer (must not be null)
      Returns:
      this builder
    • addProperty

      ModuleSpec.Builder addProperty(String name, String value)
      Add a property to this module specification.
      Parameters:
      name - the property name
      value - the property value
      Returns:
      this builder
    • setPermissionCollection

      ModuleSpec.Builder setPermissionCollection(PermissionCollection permissionCollection)
      Set the permission collection for this module specification. If none is given, a collection implying AllPermission is assumed.
      Parameters:
      permissionCollection - the permission collection
      Returns:
      this builder
    • setVersion

      ModuleSpec.Builder setVersion(Version version)
      Set the version for this module specification, or null to set no version for this module.
      Parameters:
      version - the module version
      Returns:
      this builder
    • addProvide

      ModuleSpec.Builder addProvide(String serviceTypeName, String serviceImplClassName)
      Declare that this module provides a service with the given type name with the implementation class with the given class name.
      Parameters:
      serviceTypeName - the service type name (must not be null)
      serviceImplClassName - the service implementation class name (must not be null)
      Returns:
      this builder
    • getVersion

      Version getVersion()
      Get the version for this module specification, or null if none was set.
      Returns:
      the currently-set version, or null if none was set