View Javadoc
1   package com.atlassian.plugin.spring.scanner.annotation.export;
2   
3   import java.lang.annotation.ElementType;
4   import java.lang.annotation.Retention;
5   import java.lang.annotation.RetentionPolicy;
6   import java.lang.annotation.Target;
7   
8   /**
9    * Denotes a component to be exported as an OSGi service available to other bundles and is a factory for
10   * creating Atlassian plugin modules.
11   *
12   * This is a replacement for the previous {@code <module-type />} markup from atlassian-plugin.xml
13   *
14   * @since v0.x
15   */
16  @Target(ElementType.TYPE)
17  @Retention(RetentionPolicy.RUNTIME)
18  @ExportAsService
19  public @interface ModuleType {
20      /**
21       * the interfaces the service should be exported as.
22       * if not specified, the interfaces will be calculated using reflection
23       *
24       * @return the list of interfaces to export
25       */
26      Class<?>[] value() default {};
27  }