diff --git a/specification/src/main/java/com/iluwatar/Creature.java b/specification/src/main/java/com/iluwatar/Creature.java deleted file mode 100644 index 3bb330891..000000000 --- a/specification/src/main/java/com/iluwatar/Creature.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.iluwatar; - -public interface Creature { - - String getName(); - - Size getSize(); - - Movement getMovement(); - - Color getColor(); -} diff --git a/specification/src/main/java/com/iluwatar/Dragon.java b/specification/src/main/java/com/iluwatar/Dragon.java deleted file mode 100644 index c8bc841c6..000000000 --- a/specification/src/main/java/com/iluwatar/Dragon.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.iluwatar; - -public class Dragon extends AbstractCreature { - - public Dragon() { - super("Dragon", Size.LARGE, Movement.FLYING, Color.RED); - } -} diff --git a/specification/src/main/java/com/iluwatar/Goblin.java b/specification/src/main/java/com/iluwatar/Goblin.java deleted file mode 100644 index 6d9948667..000000000 --- a/specification/src/main/java/com/iluwatar/Goblin.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.iluwatar; - -public class Goblin extends AbstractCreature { - - public Goblin() { - super("Goblin", Size.SMALL, Movement.WALKING, Color.GREEN); - } -} diff --git a/specification/src/main/java/com/iluwatar/Octopus.java b/specification/src/main/java/com/iluwatar/Octopus.java deleted file mode 100644 index 818dcf785..000000000 --- a/specification/src/main/java/com/iluwatar/Octopus.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.iluwatar; - -public class Octopus extends AbstractCreature { - - public Octopus() { - super("Octopus", Size.NORMAL, Movement.SWIMMING, Color.DARK); - } -} diff --git a/specification/src/main/java/com/iluwatar/Shark.java b/specification/src/main/java/com/iluwatar/Shark.java deleted file mode 100644 index fb4e420b7..000000000 --- a/specification/src/main/java/com/iluwatar/Shark.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.iluwatar; - -public class Shark extends AbstractCreature { - - public Shark() { - super("Shark", Size.NORMAL, Movement.SWIMMING, Color.LIGHT); - } -} diff --git a/specification/src/main/java/com/iluwatar/Troll.java b/specification/src/main/java/com/iluwatar/Troll.java deleted file mode 100644 index e321d6a9a..000000000 --- a/specification/src/main/java/com/iluwatar/Troll.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.iluwatar; - -public class Troll extends AbstractCreature { - - public Troll() { - super("Troll", Size.LARGE, Movement.WALKING, Color.DARK); - } -} diff --git a/specification/src/main/java/com/iluwatar/App.java b/specification/src/main/java/com/iluwatar/app/App.java similarity index 72% rename from specification/src/main/java/com/iluwatar/App.java rename to specification/src/main/java/com/iluwatar/app/App.java index 79ad39f14..85f9a386b 100644 --- a/specification/src/main/java/com/iluwatar/App.java +++ b/specification/src/main/java/com/iluwatar/app/App.java @@ -1,9 +1,21 @@ -package com.iluwatar; +package com.iluwatar.app; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import com.iluwatar.creature.Creature; +import com.iluwatar.creature.Dragon; +import com.iluwatar.creature.Goblin; +import com.iluwatar.creature.KillerBee; +import com.iluwatar.creature.Octopus; +import com.iluwatar.creature.Shark; +import com.iluwatar.creature.Troll; +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.selector.ColorSelector; +import com.iluwatar.selector.MovementSelector; + public class App { public static void main( String[] args ) { // initialize creatures list diff --git a/specification/src/main/java/com/iluwatar/AbstractCreature.java b/specification/src/main/java/com/iluwatar/creature/AbstractCreature.java similarity index 83% rename from specification/src/main/java/com/iluwatar/AbstractCreature.java rename to specification/src/main/java/com/iluwatar/creature/AbstractCreature.java index 304c99cbc..e07144836 100644 --- a/specification/src/main/java/com/iluwatar/AbstractCreature.java +++ b/specification/src/main/java/com/iluwatar/creature/AbstractCreature.java @@ -1,4 +1,8 @@ -package com.iluwatar; +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; public abstract class AbstractCreature implements Creature { diff --git a/specification/src/main/java/com/iluwatar/creature/Creature.java b/specification/src/main/java/com/iluwatar/creature/Creature.java new file mode 100644 index 000000000..eb49b5a77 --- /dev/null +++ b/specification/src/main/java/com/iluwatar/creature/Creature.java @@ -0,0 +1,16 @@ +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; + +public interface Creature { + + String getName(); + + Size getSize(); + + Movement getMovement(); + + Color getColor(); +} diff --git a/specification/src/main/java/com/iluwatar/creature/Dragon.java b/specification/src/main/java/com/iluwatar/creature/Dragon.java new file mode 100644 index 000000000..d7a93f74c --- /dev/null +++ b/specification/src/main/java/com/iluwatar/creature/Dragon.java @@ -0,0 +1,12 @@ +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; + +public class Dragon extends AbstractCreature { + + public Dragon() { + super("Dragon", Size.LARGE, Movement.FLYING, Color.RED); + } +} diff --git a/specification/src/main/java/com/iluwatar/creature/Goblin.java b/specification/src/main/java/com/iluwatar/creature/Goblin.java new file mode 100644 index 000000000..4f584756d --- /dev/null +++ b/specification/src/main/java/com/iluwatar/creature/Goblin.java @@ -0,0 +1,12 @@ +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; + +public class Goblin extends AbstractCreature { + + public Goblin() { + super("Goblin", Size.SMALL, Movement.WALKING, Color.GREEN); + } +} diff --git a/specification/src/main/java/com/iluwatar/KillerBee.java b/specification/src/main/java/com/iluwatar/creature/KillerBee.java similarity index 50% rename from specification/src/main/java/com/iluwatar/KillerBee.java rename to specification/src/main/java/com/iluwatar/creature/KillerBee.java index e20e26420..bbb906bf1 100644 --- a/specification/src/main/java/com/iluwatar/KillerBee.java +++ b/specification/src/main/java/com/iluwatar/creature/KillerBee.java @@ -1,4 +1,8 @@ -package com.iluwatar; +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; public class KillerBee extends AbstractCreature { diff --git a/specification/src/main/java/com/iluwatar/creature/Octopus.java b/specification/src/main/java/com/iluwatar/creature/Octopus.java new file mode 100644 index 000000000..b3bab86b9 --- /dev/null +++ b/specification/src/main/java/com/iluwatar/creature/Octopus.java @@ -0,0 +1,12 @@ +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; + +public class Octopus extends AbstractCreature { + + public Octopus() { + super("Octopus", Size.NORMAL, Movement.SWIMMING, Color.DARK); + } +} diff --git a/specification/src/main/java/com/iluwatar/creature/Shark.java b/specification/src/main/java/com/iluwatar/creature/Shark.java new file mode 100644 index 000000000..3ae40a342 --- /dev/null +++ b/specification/src/main/java/com/iluwatar/creature/Shark.java @@ -0,0 +1,12 @@ +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; + +public class Shark extends AbstractCreature { + + public Shark() { + super("Shark", Size.NORMAL, Movement.SWIMMING, Color.LIGHT); + } +} diff --git a/specification/src/main/java/com/iluwatar/creature/Troll.java b/specification/src/main/java/com/iluwatar/creature/Troll.java new file mode 100644 index 000000000..82178042b --- /dev/null +++ b/specification/src/main/java/com/iluwatar/creature/Troll.java @@ -0,0 +1,12 @@ +package com.iluwatar.creature; + +import com.iluwatar.property.Color; +import com.iluwatar.property.Movement; +import com.iluwatar.property.Size; + +public class Troll extends AbstractCreature { + + public Troll() { + super("Troll", Size.LARGE, Movement.WALKING, Color.DARK); + } +} diff --git a/specification/src/main/java/com/iluwatar/Color.java b/specification/src/main/java/com/iluwatar/property/Color.java similarity index 88% rename from specification/src/main/java/com/iluwatar/Color.java rename to specification/src/main/java/com/iluwatar/property/Color.java index 8f07d7d1e..52238b13b 100644 --- a/specification/src/main/java/com/iluwatar/Color.java +++ b/specification/src/main/java/com/iluwatar/property/Color.java @@ -1,4 +1,4 @@ -package com.iluwatar; +package com.iluwatar.property; public enum Color { diff --git a/specification/src/main/java/com/iluwatar/Movement.java b/specification/src/main/java/com/iluwatar/property/Movement.java similarity index 89% rename from specification/src/main/java/com/iluwatar/Movement.java rename to specification/src/main/java/com/iluwatar/property/Movement.java index 8086b4ae9..a4b29deb8 100644 --- a/specification/src/main/java/com/iluwatar/Movement.java +++ b/specification/src/main/java/com/iluwatar/property/Movement.java @@ -1,4 +1,4 @@ -package com.iluwatar; +package com.iluwatar.property; public enum Movement { diff --git a/specification/src/main/java/com/iluwatar/Size.java b/specification/src/main/java/com/iluwatar/property/Size.java similarity index 90% rename from specification/src/main/java/com/iluwatar/Size.java rename to specification/src/main/java/com/iluwatar/property/Size.java index 1045b3fd0..d97775ea4 100644 --- a/specification/src/main/java/com/iluwatar/Size.java +++ b/specification/src/main/java/com/iluwatar/property/Size.java @@ -1,4 +1,4 @@ -package com.iluwatar; +package com.iluwatar.property; /** * diff --git a/specification/src/main/java/com/iluwatar/ColorSelector.java b/specification/src/main/java/com/iluwatar/selector/ColorSelector.java similarity index 70% rename from specification/src/main/java/com/iluwatar/ColorSelector.java rename to specification/src/main/java/com/iluwatar/selector/ColorSelector.java index bc4b05f96..07e437b4c 100644 --- a/specification/src/main/java/com/iluwatar/ColorSelector.java +++ b/specification/src/main/java/com/iluwatar/selector/ColorSelector.java @@ -1,7 +1,10 @@ -package com.iluwatar; +package com.iluwatar.selector; import java.util.function.Predicate; +import com.iluwatar.creature.Creature; +import com.iluwatar.property.Color; + public class ColorSelector implements Predicate { private final Color c; diff --git a/specification/src/main/java/com/iluwatar/MovementSelector.java b/specification/src/main/java/com/iluwatar/selector/MovementSelector.java similarity index 71% rename from specification/src/main/java/com/iluwatar/MovementSelector.java rename to specification/src/main/java/com/iluwatar/selector/MovementSelector.java index 8ad000fa2..5fe7ce40a 100644 --- a/specification/src/main/java/com/iluwatar/MovementSelector.java +++ b/specification/src/main/java/com/iluwatar/selector/MovementSelector.java @@ -1,7 +1,10 @@ -package com.iluwatar; +package com.iluwatar.selector; import java.util.function.Predicate; +import com.iluwatar.creature.Creature; +import com.iluwatar.property.Movement; + public class MovementSelector implements Predicate { private final Movement m; diff --git a/specification/src/main/java/com/iluwatar/SizeSelector.java b/specification/src/main/java/com/iluwatar/selector/SizeSelector.java similarity index 70% rename from specification/src/main/java/com/iluwatar/SizeSelector.java rename to specification/src/main/java/com/iluwatar/selector/SizeSelector.java index 82e5509ac..1242920f7 100644 --- a/specification/src/main/java/com/iluwatar/SizeSelector.java +++ b/specification/src/main/java/com/iluwatar/selector/SizeSelector.java @@ -1,7 +1,10 @@ -package com.iluwatar; +package com.iluwatar.selector; import java.util.function.Predicate; +import com.iluwatar.creature.Creature; +import com.iluwatar.property.Size; + public class SizeSelector implements Predicate { private final Size s; diff --git a/specification/src/test/java/com/iluwatar/AppTest.java b/specification/src/test/java/com/iluwatar/app/AppTest.java similarity index 68% rename from specification/src/test/java/com/iluwatar/AppTest.java rename to specification/src/test/java/com/iluwatar/app/AppTest.java index 6db5ad214..d3a934a63 100644 --- a/specification/src/test/java/com/iluwatar/AppTest.java +++ b/specification/src/test/java/com/iluwatar/app/AppTest.java @@ -1,7 +1,9 @@ -package com.iluwatar; +package com.iluwatar.app; import org.junit.Test; +import com.iluwatar.app.App; + public class AppTest { @Test