## Uses of Class
java.lang.annotation.Retention

- Packages that use Retention
  Package | Description
  --- | ---
  java.lang |
  java.lang.annotation |
  org.apidesign.bck2brwsr.core |
  org.openide.util.lookup | Support classes for the Registration and `Lookup` extension mechanism.

- - ### Uses of Retention in java.lang

    Classes in java.lang with annotations of type Retention
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `Deprecated` A program element annotated @Deprecated is one that programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists.
    `interface` | `FunctionalInterface` An informative annotation type used to indicate that an interface type declaration is intended to be a functional interface as defined by the Java Language Specification.
    `interface` | `Override` Indicates that a method declaration is intended to override a method declaration in a supertype.
    `interface` | `SafeVarargs` A programmer assertion that the body of the annotated method or constructor does not perform potentially unsafe operations on its varargs parameter.
    `interface` | `SuppressWarnings` Indicates that the named compiler warnings should be suppressed in the annotated element (and in all program elements contained in the annotated element).

  - ### Uses of Retention in java.lang.annotation

    Classes in java.lang.annotation with annotations of type Retention
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `Documented` Indicates that annotations with a type are to be documented by javadoc and similar tools by default.
    `interface` | `Inherited` Indicates that an annotation type is automatically inherited.
    `interface` | `Retention` Indicates how long annotations with the annotated type are to be retained.
    `interface` | `Target` Indicates the kinds of program element to which an annotation type is applicable.

  - ### Uses of Retention in org.apidesign.bck2brwsr.core

    Classes in org.apidesign.bck2brwsr.core with annotations of type Retention
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `Exported` Marks the corresponding program element as exported.
    `interface` | `ExtraJavaScript` A way to include pre-made JavaScript scripts and libraries.
    `interface` | `JavaScriptBody` Put this annotation on a method to provide its special implementation in JavaScript.
    `interface` | `JavaScriptOnly` Don't include given method in the generated JavaScript at all.
    `interface` | `JavaScriptPrototype` Influence the inheritance of your class when converted to JavaScript.

  - ### Uses of Retention in org.openide.util.lookup

    Classes in org.openide.util.lookup with annotations of type Retention
    Modifier and Type | Class and Description
    --- | ---
    `interface` | `NamedServiceDefinition` Annotation to simplify creation and add robustness to usage of various named service registration annotations.
    `interface` | `ServiceProvider` Declarative registration of a singleton service provider.
    `interface` | `ServiceProviders` Similar to `ServiceProvider` but permits multiple registrations of one class.

Copyright © 2025 API Design. All Rights Reserved.