diff --git a/specification/src/main/java/com/iluwatar/specification/app/App.java b/specification/src/main/java/com/iluwatar/specification/app/App.java
index 00b371814..8ca7283c9 100644
--- a/specification/src/main/java/com/iluwatar/specification/app/App.java
+++ b/specification/src/main/java/com/iluwatar/specification/app/App.java
@@ -23,41 +23,44 @@
package com.iluwatar.specification.app;
-import com.iluwatar.specification.creature.*;
+import com.iluwatar.specification.creature.Creature;
+import com.iluwatar.specification.creature.Dragon;
+import com.iluwatar.specification.creature.Goblin;
+import com.iluwatar.specification.creature.KillerBee;
+import com.iluwatar.specification.creature.Octopus;
+import com.iluwatar.specification.creature.Shark;
+import com.iluwatar.specification.creature.Troll;
import com.iluwatar.specification.property.Color;
import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.selector.ColorSelector;
import com.iluwatar.specification.selector.MovementSelector;
+import java.util.List;
+import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.List;
-import java.util.stream.Collectors;
-
/**
- *
- * The central idea of the Specification pattern is to separate the statement of how to match a
+ *
The central idea of the Specification pattern is to separate the statement of how to match a
* candidate, from the candidate object that it is matched against. As well as its usefulness in
- * selection, it is also valuable for validation and for building to order.
- *
- * In this example we have a pool of creatures with different properties. We then have defined
- * separate selection rules (Specifications) that we apply to the collection and as output receive
- * only the creatures that match the selection criteria.
- *
- * http://martinfowler.com/apsupp/spec.pdf
+ * selection, it is also valuable for validation and for building to order.
*
+ * In this example we have a pool of creatures with different properties. We then have defined
+ * separate selection rules (Specifications) that we apply to the collection and as output receive
+ * only the creatures that match the selection criteria.
+ *
+ * http://martinfowler.com/apsupp/spec.pdf
*/
public class App {
private static final Logger LOGGER = LoggerFactory.getLogger(App.class);
/**
- * Program entry point
+ * Program entry point.
*/
public static void main(String[] args) {
// initialize creatures list
- List creatures =
- List.of(new Goblin(), new Octopus(), new Dragon(), new Shark(), new Troll(), new KillerBee());
+ List creatures = List.of(new Goblin(), new Octopus(), new Dragon(), new Shark(),
+ new Troll(), new KillerBee());
// find all walking creatures
LOGGER.info("Find all walking creatures");
List walkingCreatures =
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/AbstractCreature.java b/specification/src/main/java/com/iluwatar/specification/creature/AbstractCreature.java
index 566885560..de7a41417 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/AbstractCreature.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/AbstractCreature.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* Base class for concrete creatures.
- *
*/
public abstract class AbstractCreature implements Creature {
@@ -40,7 +38,7 @@ public abstract class AbstractCreature implements Creature {
private Color color;
/**
- * Constructor
+ * Constructor.
*/
public AbstractCreature(String name, Size size, Movement movement, Color color) {
this.name = name;
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/Creature.java b/specification/src/main/java/com/iluwatar/specification/creature/Creature.java
index c999f546d..3f8ccdfdb 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/Creature.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/Creature.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* Creature interface.
- *
*/
public interface Creature {
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/Dragon.java b/specification/src/main/java/com/iluwatar/specification/creature/Dragon.java
index 833b8522b..d4f5a7f23 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/Dragon.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/Dragon.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* Dragon creature.
- *
*/
public class Dragon extends AbstractCreature {
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/Goblin.java b/specification/src/main/java/com/iluwatar/specification/creature/Goblin.java
index 0153e21fe..0b145b737 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/Goblin.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/Goblin.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* Goblin creature.
- *
*/
public class Goblin extends AbstractCreature {
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/KillerBee.java b/specification/src/main/java/com/iluwatar/specification/creature/KillerBee.java
index 04c416b7a..77f32c9f4 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/KillerBee.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/KillerBee.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* KillerBee creature.
- *
*/
public class KillerBee extends AbstractCreature {
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/Octopus.java b/specification/src/main/java/com/iluwatar/specification/creature/Octopus.java
index bb2c5718b..6958f7fbd 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/Octopus.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/Octopus.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* Octopus creature.
- *
*/
public class Octopus extends AbstractCreature {
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/Shark.java b/specification/src/main/java/com/iluwatar/specification/creature/Shark.java
index 56ec1651a..b9e161da4 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/Shark.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/Shark.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* Shark creature.
- *
*/
public class Shark extends AbstractCreature {
diff --git a/specification/src/main/java/com/iluwatar/specification/creature/Troll.java b/specification/src/main/java/com/iluwatar/specification/creature/Troll.java
index 1d6a79bb8..3f416bdd1 100644
--- a/specification/src/main/java/com/iluwatar/specification/creature/Troll.java
+++ b/specification/src/main/java/com/iluwatar/specification/creature/Troll.java
@@ -28,9 +28,7 @@ import com.iluwatar.specification.property.Movement;
import com.iluwatar.specification.property.Size;
/**
- *
* Troll creature.
- *
*/
public class Troll extends AbstractCreature {
diff --git a/specification/src/main/java/com/iluwatar/specification/property/Color.java b/specification/src/main/java/com/iluwatar/specification/property/Color.java
index 9f64e1b77..00f7007ff 100644
--- a/specification/src/main/java/com/iluwatar/specification/property/Color.java
+++ b/specification/src/main/java/com/iluwatar/specification/property/Color.java
@@ -24,9 +24,7 @@
package com.iluwatar.specification.property;
/**
- *
- * Color property.
- *
+ * Color property.
*/
public enum Color {
diff --git a/specification/src/main/java/com/iluwatar/specification/property/Movement.java b/specification/src/main/java/com/iluwatar/specification/property/Movement.java
index 5bf0863e4..f76b0584f 100644
--- a/specification/src/main/java/com/iluwatar/specification/property/Movement.java
+++ b/specification/src/main/java/com/iluwatar/specification/property/Movement.java
@@ -24,9 +24,7 @@
package com.iluwatar.specification.property;
/**
- *
* Movement property.
- *
*/
public enum Movement {
diff --git a/specification/src/main/java/com/iluwatar/specification/property/Size.java b/specification/src/main/java/com/iluwatar/specification/property/Size.java
index a4a09e96c..27bc48024 100644
--- a/specification/src/main/java/com/iluwatar/specification/property/Size.java
+++ b/specification/src/main/java/com/iluwatar/specification/property/Size.java
@@ -24,9 +24,7 @@
package com.iluwatar.specification.property;
/**
- *
* Size property.
- *
*/
public enum Size {
diff --git a/specification/src/main/java/com/iluwatar/specification/selector/ColorSelector.java b/specification/src/main/java/com/iluwatar/specification/selector/ColorSelector.java
index 75e922bff..93caf612f 100644
--- a/specification/src/main/java/com/iluwatar/specification/selector/ColorSelector.java
+++ b/specification/src/main/java/com/iluwatar/specification/selector/ColorSelector.java
@@ -23,26 +23,23 @@
package com.iluwatar.specification.selector;
-import java.util.function.Predicate;
-
import com.iluwatar.specification.creature.Creature;
import com.iluwatar.specification.property.Color;
+import java.util.function.Predicate;
/**
- *
* Color selector.
- *
*/
public class ColorSelector implements Predicate {
- private final Color c;
+ private final Color color;
public ColorSelector(Color c) {
- this.c = c;
+ this.color = c;
}
@Override
public boolean test(Creature t) {
- return t.getColor().equals(c);
+ return t.getColor().equals(color);
}
}
diff --git a/specification/src/main/java/com/iluwatar/specification/selector/MovementSelector.java b/specification/src/main/java/com/iluwatar/specification/selector/MovementSelector.java
index 19613dfed..1818058c1 100644
--- a/specification/src/main/java/com/iluwatar/specification/selector/MovementSelector.java
+++ b/specification/src/main/java/com/iluwatar/specification/selector/MovementSelector.java
@@ -23,26 +23,23 @@
package com.iluwatar.specification.selector;
-import java.util.function.Predicate;
-
import com.iluwatar.specification.creature.Creature;
import com.iluwatar.specification.property.Movement;
+import java.util.function.Predicate;
/**
- *
* Movement selector.
- *
*/
public class MovementSelector implements Predicate {
- private final Movement m;
+ private final Movement movement;
public MovementSelector(Movement m) {
- this.m = m;
+ this.movement = m;
}
@Override
public boolean test(Creature t) {
- return t.getMovement().equals(m);
+ return t.getMovement().equals(movement);
}
}
diff --git a/specification/src/main/java/com/iluwatar/specification/selector/SizeSelector.java b/specification/src/main/java/com/iluwatar/specification/selector/SizeSelector.java
index 1d561e95c..a997c0342 100644
--- a/specification/src/main/java/com/iluwatar/specification/selector/SizeSelector.java
+++ b/specification/src/main/java/com/iluwatar/specification/selector/SizeSelector.java
@@ -23,26 +23,23 @@
package com.iluwatar.specification.selector;
-import java.util.function.Predicate;
-
import com.iluwatar.specification.creature.Creature;
import com.iluwatar.specification.property.Size;
+import java.util.function.Predicate;
/**
- *
* Size selector.
- *
*/
public class SizeSelector implements Predicate {
- private final Size s;
+ private final Size size;
public SizeSelector(Size s) {
- this.s = s;
+ this.size = s;
}
@Override
public boolean test(Creature t) {
- return t.getSize().equals(s);
+ return t.getSize().equals(size);
}
}