View Javadoc

1   package com.atlassian.plugin.spring;
2   
3   import java.lang.annotation.Target;
4   import java.lang.annotation.ElementType;
5   import java.lang.annotation.Retention;
6   import java.lang.annotation.RetentionPolicy;
7   
8   /**
9    * Annotation for Spring beans which are made available to OSGi plugin components
10   *
11   * If a Class is specified, then the bean is exposed only as that class -- otherwise it is exposed as all interfaces it implements.
12   */
13  @Target(ElementType.TYPE)
14  @Retention(RetentionPolicy.RUNTIME)
15  public @interface AvailableToPlugins
16  {
17      /**
18       * @return The interface the bean is exposed as
19       */
20      Class value() default Void.class;
21  }