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 only in dev mode.
10 */
11 @Target({ElementType.TYPE, ElementType.FIELD})
12 @Retention(RetentionPolicy.RUNTIME)
13 public @interface ExportAsDevService {
14 /**
15 * The interfaces the service should be exported as.
16 * <p>
17 * The default is to export as ALL interfaces implemented by this class,
18 * or as the implementation class if it implements no interfaces.
19 *
20 * @return the list of interfaces to export
21 */
22 Class<?>[] value() default {};
23 }
24