< prev index next >

src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java

Print this page

 53 public @interface PreviewFeature {
 54     /**
 55      * Name of the preview feature the annotated API is associated
 56      * with.
 57      */
 58     public Feature feature();
 59 
 60     public boolean reflective() default false;
 61 
 62     /**
 63      * Enum of preview features in the current release.
 64      * Values should be annotated with the feature's {@code JEP}.
 65      */
 66     public enum Feature {
 67         // while building the interim javac, the ClassReader will produce a warning when loading a class
 68         // keeping the constant of a feature that has been integrated or dropped, serves the purpose of muting such warnings.
 69 
 70         //---
 71         IMPLICIT_CLASSES, //to be removed when boot JDK is 25
 72         SCOPED_VALUES,
 73         @JEP(number=505, title="Structured Concurrency", status="Fifth Preview")
 74         STRUCTURED_CONCURRENCY,
 75         CLASSFILE_API,
 76         STREAM_GATHERERS,
 77         MODULE_IMPORTS, //remove when the boot JDK is JDK 25
 78         KEY_DERIVATION, //remove when the boot JDK is JDK 25
 79         @JEP(number = 502, title = "Stable Values", status = "Preview")
 80         STABLE_VALUES,
 81         @JEP(number=470, title="PEM Encodings of Cryptographic Objects", status="Preview")
 82         PEM_API,
 83         LANGUAGE_MODEL,
 84         /**
 85          * A key for testing.
 86          */
 87         @JEP(number=2_147_483_647, title="Test Feature")
 88         TEST,
 89         ;
 90     }
 91 
 92     /**
 93      * Annotation identifying the JEP associated with a preview feature.

 53 public @interface PreviewFeature {
 54     /**
 55      * Name of the preview feature the annotated API is associated
 56      * with.
 57      */
 58     public Feature feature();
 59 
 60     public boolean reflective() default false;
 61 
 62     /**
 63      * Enum of preview features in the current release.
 64      * Values should be annotated with the feature's {@code JEP}.
 65      */
 66     public enum Feature {
 67         // while building the interim javac, the ClassReader will produce a warning when loading a class
 68         // keeping the constant of a feature that has been integrated or dropped, serves the purpose of muting such warnings.
 69 
 70         //---
 71         IMPLICIT_CLASSES, //to be removed when boot JDK is 25
 72         SCOPED_VALUES,
 73         @JEP(number=999, title="Structured Concurrency", status="Sixth Preview")
 74         STRUCTURED_CONCURRENCY,
 75         CLASSFILE_API,
 76         STREAM_GATHERERS,
 77         MODULE_IMPORTS, //remove when the boot JDK is JDK 25
 78         KEY_DERIVATION, //remove when the boot JDK is JDK 25
 79         @JEP(number = 502, title = "Stable Values", status = "Preview")
 80         STABLE_VALUES,
 81         @JEP(number=470, title="PEM Encodings of Cryptographic Objects", status="Preview")
 82         PEM_API,
 83         LANGUAGE_MODEL,
 84         /**
 85          * A key for testing.
 86          */
 87         @JEP(number=2_147_483_647, title="Test Feature")
 88         TEST,
 89         ;
 90     }
 91 
 92     /**
 93      * Annotation identifying the JEP associated with a preview feature.
< prev index next >