Interface ModuleTypeInfo

All Superinterfaces:
Annotated, Prototype.Api
All Known Implementing Classes:
ModuleTypeInfo.BuilderBase.ModuleTypeInfoImpl

public interface ModuleTypeInfo extends Prototype.Api
Module info type information.
See Also:
  • Method Details

    • builder

      static ModuleTypeInfo.Builder builder()
      Create a new fluent API builder to customize configuration.
      Returns:
      a new builder
    • builder

      static ModuleTypeInfo.Builder builder(ModuleTypeInfo instance)
      Create a new fluent API builder from an existing instance.
      Parameters:
      instance - an existing instance used as a base for the builder
      Returns:
      a builder based on an instance
    • create

      static ModuleTypeInfo create()
      Create a new instance with default values.
      Returns:
      a new instance
    • name

      String name()
      Module name.
      Returns:
      name of this module
    • description

      Optional<String> description()
      Description, such as javadoc, if available.
      Returns:
      description of this element
    • isOpen

      boolean isOpen()
      Whether this is an open module.
      Returns:
      if open
    • requires

      List of requires directives.
      Returns:
      requires
    • exports

      List of exports directives.
      Returns:
      exports
    • opens

      List of opens directives.
      Returns:
      opens
    • uses

      List of uses directives.
      Returns:
      uses
    • provides

      List of provides directives.
      Returns:
      provides
    • originatingElement

      Optional<Object> originatingElement()
      The element used to create this instance. The type of the object depends on the environment we are in - it may be an TypeElement in annotation processing, or a ClassInfo when using classpath scanning.
      Returns:
      originating element
    • originatingElementValue

      default Object originatingElementValue()
      The element used to create this instance, or TypeInfoBlueprint.typeName() if none provided. The type of the object depends on the environment we are in - it may be an TypeElement in annotation processing, or a ClassInfo when using classpath scanning.
      Returns:
      originating element, or the type of this type info