diff --git a/builder/src/main/java/com/iluwatar/builder/App.java b/builder/src/main/java/com/iluwatar/builder/App.java index e38e5a0c3..bcdbb8821 100644 --- a/builder/src/main/java/com/iluwatar/builder/App.java +++ b/builder/src/main/java/com/iluwatar/builder/App.java @@ -1,38 +1,42 @@ -package com.iluwatar.builder; - -import com.iluwatar. builder.Hero.HeroBuilder; - -/** - * - * This is the Builder pattern variation as described by Joshua Bloch in - * Effective Java 2nd Edition. - * - * We want to build Hero objects, but its construction is complex because of the - * many parameters needed. To aid the user we introduce HeroBuilder class. - * HeroBuilder takes the minimum parameters to build Hero object in its - * constructor. After that additional configuration for the Hero object can be - * done using the fluent HeroBuilder interface. When configuration is ready the - * build method is called to receive the final Hero object. - * - */ -public class App { - - public static void main(String[] args) { - - Hero mage = new HeroBuilder(Profession.MAGE, "Riobard") - .withHairColor(HairColor.BLACK).withWeapon(Weapon.DAGGER) - .build(); - System.out.println(mage); - - Hero warrior = new HeroBuilder(Profession.WARRIOR, "Amberjill") - .withHairColor(HairColor.BLOND) - .withHairType(HairType.LONG_CURLY).withArmor(Armor.CHAIN_MAIL) - .withWeapon(Weapon.SWORD).build(); - System.out.println(warrior); - - Hero thief = new HeroBuilder(Profession.THIEF, "Desmond") - .withHairType(HairType.BALD).withWeapon(Weapon.BOW).build(); - System.out.println(thief); - - } -} +package com.iluwatar.builder; + +import com.iluwatar. builder.Hero.HeroBuilder; + +/** + * + * This is the Builder pattern variation as described by Joshua Bloch in + * Effective Java 2nd Edition. + *

+ * We want to build {@link Hero} objects, but its construction is complex because of the + * many parameters needed. To aid the user we introduce {@link HeroBuilder} class. + * {@link HeroBuilder} takes the minimum parameters to build {@link Hero} object in its + * constructor. After that additional configuration for the {@link Hero} object can be + * done using the fluent {@link HeroBuilder} interface. When configuration is ready the + * build method is called to receive the final {@link Hero} object. + * + */ +public class App { + + /** + * Program entry point + * @param args command line args + */ + public static void main(String[] args) { + + Hero mage = new HeroBuilder(Profession.MAGE, "Riobard") + .withHairColor(HairColor.BLACK).withWeapon(Weapon.DAGGER) + .build(); + System.out.println(mage); + + Hero warrior = new HeroBuilder(Profession.WARRIOR, "Amberjill") + .withHairColor(HairColor.BLOND) + .withHairType(HairType.LONG_CURLY).withArmor(Armor.CHAIN_MAIL) + .withWeapon(Weapon.SWORD).build(); + System.out.println(warrior); + + Hero thief = new HeroBuilder(Profession.THIEF, "Desmond") + .withHairType(HairType.BALD).withWeapon(Weapon.BOW).build(); + System.out.println(thief); + + } +} diff --git a/builder/src/main/java/com/iluwatar/builder/Armor.java b/builder/src/main/java/com/iluwatar/builder/Armor.java index ebec6a47d..95fcba43b 100644 --- a/builder/src/main/java/com/iluwatar/builder/Armor.java +++ b/builder/src/main/java/com/iluwatar/builder/Armor.java @@ -1,17 +1,22 @@ -package com.iluwatar.builder; - -public enum Armor { - - CLOTHES("clothes"), LEATHER("leather"), CHAIN_MAIL("chain mail"), PLATE_MAIL("plate mail"); - - private String title; - - Armor(String title) { - this.title = title; - } - - @Override - public String toString() { - return title; - } -} +package com.iluwatar.builder; + +/** + * + * Armor enumeration + * + */ +public enum Armor { + + CLOTHES("clothes"), LEATHER("leather"), CHAIN_MAIL("chain mail"), PLATE_MAIL("plate mail"); + + private String title; + + Armor(String title) { + this.title = title; + } + + @Override + public String toString() { + return title; + } +} diff --git a/builder/src/main/java/com/iluwatar/builder/HairColor.java b/builder/src/main/java/com/iluwatar/builder/HairColor.java index a73044754..dd8ec2ecc 100644 --- a/builder/src/main/java/com/iluwatar/builder/HairColor.java +++ b/builder/src/main/java/com/iluwatar/builder/HairColor.java @@ -1,12 +1,17 @@ -package com.iluwatar.builder; - -public enum HairColor { - - WHITE, BLOND, RED, BROWN, BLACK; - - @Override - public String toString() { - return name().toLowerCase(); - } - -} +package com.iluwatar.builder; + +/** + * + * HairColor enumeration + * + */ +public enum HairColor { + + WHITE, BLOND, RED, BROWN, BLACK; + + @Override + public String toString() { + return name().toLowerCase(); + } + +} diff --git a/builder/src/main/java/com/iluwatar/builder/HairType.java b/builder/src/main/java/com/iluwatar/builder/HairType.java index 075699a58..ea49c0470 100644 --- a/builder/src/main/java/com/iluwatar/builder/HairType.java +++ b/builder/src/main/java/com/iluwatar/builder/HairType.java @@ -1,17 +1,22 @@ -package com.iluwatar.builder; - -public enum HairType { - - BALD("bald"), SHORT("short"), CURLY("curly"), LONG_STRAIGHT("long straight"), LONG_CURLY("long curly"); - - private String title; - - HairType(String title) { - this.title = title; - } - - @Override - public String toString() { - return title; - } -} +package com.iluwatar.builder; + +/** + * + * HairType enumeration + * + */ +public enum HairType { + + BALD("bald"), SHORT("short"), CURLY("curly"), LONG_STRAIGHT("long straight"), LONG_CURLY("long curly"); + + private String title; + + HairType(String title) { + this.title = title; + } + + @Override + public String toString() { + return title; + } +} diff --git a/builder/src/main/java/com/iluwatar/builder/Hero.java b/builder/src/main/java/com/iluwatar/builder/Hero.java index 75513eeda..05304bf09 100644 --- a/builder/src/main/java/com/iluwatar/builder/Hero.java +++ b/builder/src/main/java/com/iluwatar/builder/Hero.java @@ -2,7 +2,7 @@ package com.iluwatar.builder; /** * - * The class with many parameters. + * Hero, the class with many parameters. * */ public class Hero { diff --git a/builder/src/main/java/com/iluwatar/builder/Profession.java b/builder/src/main/java/com/iluwatar/builder/Profession.java index 487fc5133..c9a7cc4e9 100644 --- a/builder/src/main/java/com/iluwatar/builder/Profession.java +++ b/builder/src/main/java/com/iluwatar/builder/Profession.java @@ -1,12 +1,17 @@ -package com.iluwatar.builder; - -public enum Profession { - - WARRIOR, THIEF, MAGE, PRIEST; - - @Override - public String toString() { - return name().toLowerCase(); - } - -} +package com.iluwatar.builder; + +/** + * + * Profession enumeration + * + */ +public enum Profession { + + WARRIOR, THIEF, MAGE, PRIEST; + + @Override + public String toString() { + return name().toLowerCase(); + } + +} diff --git a/builder/src/main/java/com/iluwatar/builder/Weapon.java b/builder/src/main/java/com/iluwatar/builder/Weapon.java index 99622ddac..af71c596d 100644 --- a/builder/src/main/java/com/iluwatar/builder/Weapon.java +++ b/builder/src/main/java/com/iluwatar/builder/Weapon.java @@ -1,12 +1,17 @@ -package com.iluwatar.builder; - -public enum Weapon { - - DAGGER, SWORD, AXE, WARHAMMER, BOW; - - @Override - public String toString() { - return name().toLowerCase(); - } - -} +package com.iluwatar.builder; + +/** + * + * Weapon enumeration + * + */ +public enum Weapon { + + DAGGER, SWORD, AXE, WARHAMMER, BOW; + + @Override + public String toString() { + return name().toLowerCase(); + } + +} diff --git a/builder/src/test/java/com/iluwatar/builder/AppTest.java b/builder/src/test/java/com/iluwatar/builder/AppTest.java index 462ad3a9a..acae1ca70 100644 --- a/builder/src/test/java/com/iluwatar/builder/AppTest.java +++ b/builder/src/test/java/com/iluwatar/builder/AppTest.java @@ -1,14 +1,19 @@ -package com.iluwatar.builder; - -import org.junit.Test; - -import com.iluwatar. builder.App; - -public class AppTest { - - @Test - public void test() { - String[] args = {}; - App.main(args); - } -} +package com.iluwatar.builder; + +import org.junit.Test; + +import com.iluwatar. builder.App; + +/** + * + * Application test + * + */ +public class AppTest { + + @Test + public void test() { + String[] args = {}; + App.main(args); + } +}