-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIDemo.java
60 lines (55 loc) · 1.9 KB
/
IDemo.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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package org.javademos.commons;
/// Simple interface to unify the demo building process.
///
/// Override method 'demo()' in your implementation and include new instance
/// into demoPool in Main.java
///
/// Last review: 2024-11-12
///
/// TEMPLATE for demo implementation class JavaDocs:
/// ```
/// /// Demo for JDK <VER> feature **<JEP_NAME>** (JEP <NUM>)
/// ///
/// /// JEP history:
/// /// - JDK <VER>: [JEP <NUM> - <JEP_NAME>](https://openjdk.org/jeps/<NUM>)
/// /// - (repeat 1-n)
/// ///
/// /// Further reading:
/// /// - [<ARTICLE_TITLE>](<ARTICLE_URL>)
/// /// - (repeat 1-n)
/// ///
/// /// @see <RELEVANT_CLASS>
/// /// @author [email protected]
/// ```
///
/// @author [email protected]
public interface IDemo {
/// Header recommended to be displayed at the beginning of each demo's output.
///
/// @param demoName Name of the demo feature
/// @param demoDscr Description of the purpose
default void info(String demoName, String demoDscr) {
System.out.println();
System.out.println("-------------------------------------------------");
System.out.println(demoName);
System.out.println(demoDscr);
System.out.println("-------------------------------------------------");
System.out.println();
}
/// Header recommended to be displayed at the beginning of each demo's output.
///
/// This method accepts intended number of JEP and looks for data in DEMO_INFO map.
///
/// @param jepNumber JEP number to be displayed
/// @see JEPInfo#JEP_INFO
default void info (int jepNumber) {
var demoInfo = JEPInfo.JEP_INFO.get(jepNumber);
if (demoInfo != null) {
info(demoInfo.name(), demoInfo.dscr());
} else {
info (String.valueOf(jepNumber), "No description available");
}
}
/// Method to perform the actual work for each demo feature.
void demo();
}