From d0c32782ce3a7085c0d896b9e10a3b73df999dc3 Mon Sep 17 00:00:00 2001 From: Ilkka Seppala Date: Sat, 16 May 2015 00:27:06 +0300 Subject: [PATCH] Added code comments for Multiton. --- multiton/src/main/java/com/iluwatar/App.java | 12 ++++++++++++ multiton/src/main/java/com/iluwatar/Nazgul.java | 6 ++++++ multiton/src/main/java/com/iluwatar/NazgulName.java | 5 +++++ 3 files changed, 23 insertions(+) diff --git a/multiton/src/main/java/com/iluwatar/App.java b/multiton/src/main/java/com/iluwatar/App.java index db23372d7..e0f7eb880 100644 --- a/multiton/src/main/java/com/iluwatar/App.java +++ b/multiton/src/main/java/com/iluwatar/App.java @@ -1,5 +1,17 @@ package com.iluwatar; +/** + * + * Whereas Singleton design pattern introduces single globally + * accessible object the Multiton pattern defines many globally + * accessible objects. The client asks for the correct instance + * from the Multiton by passing an enumeration as parameter. + * + * In this example Nazgul is the Multiton and we can ask single + * Nazgul from it using NazgulName. The Nazguls are statically + * initialized and stored in concurrent hash map. + * + */ public class App { public static void main( String[] args ) { diff --git a/multiton/src/main/java/com/iluwatar/Nazgul.java b/multiton/src/main/java/com/iluwatar/Nazgul.java index 592ce7bc4..7b85789df 100644 --- a/multiton/src/main/java/com/iluwatar/Nazgul.java +++ b/multiton/src/main/java/com/iluwatar/Nazgul.java @@ -3,6 +3,12 @@ package com.iluwatar; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +/** + * + * Nazgul is a Multiton class. Nazgul instances can be queried + * using getInstance() method. + * + */ public class Nazgul { private static Map nazguls; diff --git a/multiton/src/main/java/com/iluwatar/NazgulName.java b/multiton/src/main/java/com/iluwatar/NazgulName.java index c49d4450a..60a8fe680 100644 --- a/multiton/src/main/java/com/iluwatar/NazgulName.java +++ b/multiton/src/main/java/com/iluwatar/NazgulName.java @@ -1,5 +1,10 @@ package com.iluwatar; +/** + * + * Each Nazgul has different NazgulName. + * + */ public enum NazgulName { KHAMUL, MURAZOR, DWAR, JI_INDUR, AKHORAHIL, HOARMURATH, ADUNAPHEL, REN, UVATHA;