51 @Retention(RetentionPolicy.CLASS)
52 // *Not* @Documented
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 // not used
68 VIRTUAL_THREADS,
69 @JEP(number=442, title="Foreign Function & Memory API", status="Third Preview")
70 FOREIGN,
71 @JEP(number=430, title="String Templates")
72 STRING_TEMPLATES,
73 @JEP(number=443, title="Unnamed Patterns and Variables")
74 UNNAMED,
75 @JEP(number=445, title="Unnamed Classes and Instance Main Methods")
76 UNNAMED_CLASSES,
77 @JEP(number=446, title="Scoped Values", status="Preview")
78 SCOPED_VALUES,
79 @JEP(number=453, title="Structured Concurrency", status="Preview")
80 STRUCTURED_CONCURRENCY,
81 /**
82 * A key for testing.
83 */
84 @JEP(number=0, title="Test Feature")
85 TEST,
86 ;
87 }
88
89 /**
90 * Annotation identifying the JEP associated with a preview feature.
|
51 @Retention(RetentionPolicy.CLASS)
52 // *Not* @Documented
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 // not used
68 VIRTUAL_THREADS,
69 @JEP(number=442, title="Foreign Function & Memory API", status="Third Preview")
70 FOREIGN,
71 @JEP(number=8277163, title="Value Objects")
72 VALUE_OBJECTS,
73 @JEP(number=430, title="String Templates")
74 STRING_TEMPLATES,
75 @JEP(number=443, title="Unnamed Patterns and Variables")
76 UNNAMED,
77 @JEP(number=445, title="Unnamed Classes and Instance Main Methods")
78 UNNAMED_CLASSES,
79 @JEP(number=446, title="Scoped Values", status="Preview")
80 SCOPED_VALUES,
81 @JEP(number=453, title="Structured Concurrency", status="Preview")
82 STRUCTURED_CONCURRENCY,
83 /**
84 * A key for testing.
85 */
86 @JEP(number=0, title="Test Feature")
87 TEST,
88 ;
89 }
90
91 /**
92 * Annotation identifying the JEP associated with a preview feature.
|