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", status="First Preview")
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 /**
78 * A key for testing.
79 */
80 @JEP(number=0, title="Test Feature")
81 TEST,
82 ;
83 }
84
85 /**
86 * Annotation identifying the JEP associated with a preview feature.
87 */
88 @Target(ElementType.FIELD)
89 @Retention(RetentionPolicy.CLASS)
90 @interface JEP {
91 /** JEP number */
92 int number() default 0;
93 /** JEP title in plain text */
94 String title();
95 /** JEP status such as "Preview", "Second Preview", etc */
96 String status() default "Preview";
|
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", status="First Preview")
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.
91 */
92 @Target(ElementType.FIELD)
93 @Retention(RetentionPolicy.CLASS)
94 @interface JEP {
95 /** JEP number */
96 int number() default 0;
97 /** JEP title in plain text */
98 String title();
99 /** JEP status such as "Preview", "Second Preview", etc */
100 String status() default "Preview";
|