-
Notifications
You must be signed in to change notification settings - Fork 77
/
SkipIfPortableExtensionPresent.java
31 lines (29 loc) · 1.22 KB
/
SkipIfPortableExtensionPresent.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package jakarta.enterprise.inject.build.compatible.spi;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* If a {@link BuildCompatibleExtension} is annotated {@code @SkipIfPortablExtensionPresent},
* it is ignored when the CDI implementation can execute portable extensions and
* determines that a portable extension of {@linkplain #value() given class} is present.
* <p>
* It is expected that the specified portable extension class will mirror the functionality
* of the annotated build compatible extension. This allows portable extensions
* and build compatible extensions to coexist.
*
* @since 4.0
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface SkipIfPortableExtensionPresent {
/**
* Binary name of a portable extension class, as defined by <cite>The Java™ Language Specification</cite>;
* in other words, the class name as returned by {@link Class#getName()}.
* <p>
* Non-portable behavior occurs if given class exists but is not a portable extension.
*
* @return binary name of a portable extension class
*/
String value();
}