X Tutup
Skip to content

Commit f245769

Browse files
committed
Finished Multiton example.
1 parent 8e93233 commit f245769

File tree

3 files changed

+52
-0
lines changed

3 files changed

+52
-0
lines changed

multiton/src/main/java/com/iluwatar/App.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,14 @@
33
public class App {
44

55
public static void main( String[] args ) {
6+
System.out.println("KHAMUL=" + Nazgul.getInstance(NazgulName.KHAMUL));
7+
System.out.println("MURAZOR=" + Nazgul.getInstance(NazgulName.MURAZOR));
8+
System.out.println("DWAR=" + Nazgul.getInstance(NazgulName.DWAR));
9+
System.out.println("JI_INDUR=" + Nazgul.getInstance(NazgulName.JI_INDUR));
10+
System.out.println("AKHORAHIL=" + Nazgul.getInstance(NazgulName.AKHORAHIL));
11+
System.out.println("HOARMURATH=" + Nazgul.getInstance(NazgulName.HOARMURATH));
12+
System.out.println("ADUNAPHEL=" + Nazgul.getInstance(NazgulName.ADUNAPHEL));
13+
System.out.println("REN=" + Nazgul.getInstance(NazgulName.REN));
14+
System.out.println("UVATHA=" + Nazgul.getInstance(NazgulName.UVATHA));
615
}
716
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.iluwatar;
2+
3+
import java.util.Map;
4+
import java.util.concurrent.ConcurrentHashMap;
5+
6+
public class Nazgul {
7+
8+
private static Map<NazgulName, Nazgul> nazguls;
9+
10+
private NazgulName name;
11+
12+
static {
13+
nazguls = new ConcurrentHashMap<>();
14+
nazguls.put(NazgulName.KHAMUL, new Nazgul(NazgulName.KHAMUL));
15+
nazguls.put(NazgulName.MURAZOR, new Nazgul(NazgulName.MURAZOR));
16+
nazguls.put(NazgulName.DWAR, new Nazgul(NazgulName.DWAR));
17+
nazguls.put(NazgulName.JI_INDUR, new Nazgul(NazgulName.JI_INDUR));
18+
nazguls.put(NazgulName.AKHORAHIL, new Nazgul(NazgulName.AKHORAHIL));
19+
nazguls.put(NazgulName.HOARMURATH, new Nazgul(NazgulName.HOARMURATH));
20+
nazguls.put(NazgulName.ADUNAPHEL, new Nazgul(NazgulName.ADUNAPHEL));
21+
nazguls.put(NazgulName.REN, new Nazgul(NazgulName.REN));
22+
nazguls.put(NazgulName.UVATHA, new Nazgul(NazgulName.UVATHA));
23+
}
24+
25+
private Nazgul(NazgulName name) {
26+
this.name = name;
27+
}
28+
29+
public static Nazgul getInstance(NazgulName name) {
30+
return nazguls.get(name);
31+
}
32+
33+
public NazgulName getName() {
34+
return name;
35+
}
36+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.iluwatar;
2+
3+
public enum NazgulName {
4+
5+
KHAMUL, MURAZOR, DWAR, JI_INDUR, AKHORAHIL, HOARMURATH, ADUNAPHEL, REN, UVATHA;
6+
7+
}

0 commit comments

Comments
 (0)
X Tutup