Annotation Interface ModuleType


@Target(TYPE) @Retention(RUNTIME) public @interface ModuleType
Denotes a component to be exported as an OSGi service available to other bundles and is a factory for creating Atlassian plugin modules. This is a replacement for the previous <module-type /> markup from atlassian-plugin.xml
Since:
v0.x
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The service properties to be exported with this module type.
    Class<?>[]
    the interfaces the service should be exported as.
  • Element Details

    • value

      Class<?>[] value
      the interfaces the service should be exported as. if not specified, the interfaces will be calculated using reflection
      Returns:
      the list of interfaces to export
      Default:
      {}
    • properties

      ServiceProperty[] properties
      The service properties to be exported with this module type.

      Multiple properties can now be added to a module type being exported as shown by

      @ModuleType(

      properties = {@ServiceProperty(key = "my_key", value = "service_with_properties_key")}

      )

      Returns:
      The service properties to be exported with the service
      Since:
      2.2.0
      Default:
      {}