Interface ModuleProvideInfo


public sealed interface ModuleProvideInfo
Models a single "provides" declaration in the ModuleAttribute.
See Java Virtual Machine Specification:
4.7.25 The Module Attribute
Since:
24
See Also:
  • Method Details

    • provides

      ClassEntry provides()
      Returns the service interface representing the provided service.
      Returns:
      the service interface representing the provided service
      See Also:
    • providesWith

      List<ClassEntry> providesWith()
      Returns the classes providing the service implementation. The list should not be empty.
      Returns:
      the classes providing the service implementation
      See Also:
    • of

      static ModuleProvideInfo of(ClassEntry provides, List<ClassEntry> providesWith)
      Returns a service provision description.
      Parameters:
      provides - the service class interface
      providesWith - the service class implementations, must not be empty
      Returns:
      a service provision description
    • of

      static ModuleProvideInfo of(ClassEntry provides, ClassEntry... providesWith)
      Returns a service provision description.
      Parameters:
      provides - the service class interface
      providesWith - the service class implementations, must not be empty
      Returns:
      a service provision description
    • of

      static ModuleProvideInfo of(ClassDesc provides, List<ClassDesc> providesWith)
      Returns a service provision description.
      Parameters:
      provides - the service class interface
      providesWith - the service class implementations, must not be empty
      Returns:
      a service provision description
      Throws:
      IllegalArgumentException - if provides or any of providesWith represents a primitive type
    • of

      static ModuleProvideInfo of(ClassDesc provides, ClassDesc... providesWith)
      Returns a service provision description.
      Parameters:
      provides - the service class interface
      providesWith - the service class implementations, must not be empty
      Returns:
      a service provision description
      Throws:
      IllegalArgumentException - if provides or any of providesWith represents a primitive type