diff --git a/servant/src/main/java/com/iluwatar/App.java b/servant/src/main/java/com/iluwatar/App.java index 4571e2974..34688ea1a 100644 --- a/servant/src/main/java/com/iluwatar/App.java +++ b/servant/src/main/java/com/iluwatar/App.java @@ -4,50 +4,48 @@ import java.util.ArrayList; /** - * Servant offers some functionality to a group of classes without defining that functionality in each of them. + * Servant offers some functionality to a group of classes without defining that functionality in each of them. * A Servant is a class whose instance provides methods that take care of a desired service, * while objects for which the servant does something, are taken as parameters. * */ public class App { - static Servant jenkins = new Servant("Jenkins"); - static Servant travis = new Servant("Travis"); - - public static void main( String[] args ){ - scenario(jenkins, 1); - scenario(travis, 0); - } - - /* - * Can add a List with enum Actions for variable scenarios - * */ - public static void scenario(Servant servant, int compliment){ - King k = new King(); - Queen q = new Queen(); - - ArrayList guests = new ArrayList<>(); - guests.add(k); - guests.add(q); - - //feed - servant.feed(k); - servant.feed(q); - //serve drinks - servant.giveWine(k); - servant.giveWine(q); - //compliment - servant.GiveCompliments( guests.get(compliment) ); - - //outcome of the night - for(Royalty r : guests) - r.changeMood(); - - //check your luck - if( servant.checkIfYouWillBeHanged(guests) ) - System.out.println(servant.name + " will live another day"); - else - System.out.println("Poor " + servant.name + ". His days are numbered"); - } - - + static Servant jenkins = new Servant("Jenkins"); + static Servant travis = new Servant("Travis"); + + public static void main(String[] args) { + scenario(jenkins, 1); + scenario(travis, 0); + } + + /* + * Can add a List with enum Actions for variable scenarios + * */ + public static void scenario(Servant servant, int compliment) { + King k = new King(); + Queen q = new Queen(); + + ArrayList guests = new ArrayList<>(); + guests.add(k); + guests.add(q); + + //feed + servant.feed(k); + servant.feed(q); + //serve drinks + servant.giveWine(k); + servant.giveWine(q); + //compliment + servant.GiveCompliments(guests.get(compliment)); + + //outcome of the night + for (Royalty r : guests) + r.changeMood(); + + //check your luck + if (servant.checkIfYouWillBeHanged(guests)) + System.out.println(servant.name + " will live another day"); + else + System.out.println("Poor " + servant.name + ". His days are numbered"); + } } diff --git a/servant/src/main/java/com/iluwatar/King.java b/servant/src/main/java/com/iluwatar/King.java index 7b38fd77f..61ccc27cc 100644 --- a/servant/src/main/java/com/iluwatar/King.java +++ b/servant/src/main/java/com/iluwatar/King.java @@ -1,31 +1,33 @@ package com.iluwatar; -public class King implements Royalty{ - private boolean isDrunk = false, isHungry = true, isHappy = false; - private boolean complimentReceived = false; - - @Override - public void getFed() { - isHungry = false; - } +public class King implements Royalty { + private boolean isDrunk; + private boolean isHungry = true; + private boolean isHappy; + private boolean complimentReceived; - @Override - public void getDrink() { - isDrunk = true; - } - - public void receiveCompliments(){ - complimentReceived = true; - } + @Override + public void getFed() { + isHungry = false; + } - @Override - public void changeMood() { - if(!isHungry && isDrunk) isHappy = true; - if( complimentReceived ) isHappy = false; - } + @Override + public void getDrink() { + isDrunk = true; + } - @Override - public boolean getMood() { - return isHappy; - } + public void receiveCompliments() { + complimentReceived = true; + } + + @Override + public void changeMood() { + if (!isHungry && isDrunk) isHappy = true; + if (complimentReceived) isHappy = false; + } + + @Override + public boolean getMood() { + return isHappy; + } } diff --git a/servant/src/main/java/com/iluwatar/Queen.java b/servant/src/main/java/com/iluwatar/Queen.java index baf6fd239..71b3472cd 100644 --- a/servant/src/main/java/com/iluwatar/Queen.java +++ b/servant/src/main/java/com/iluwatar/Queen.java @@ -1,35 +1,38 @@ package com.iluwatar; -public class Queen implements Royalty{ - private boolean isDrunk = true, isHungry = false, isHappy = false; - private boolean isFlirty = true, complimentReceived = false; - - @Override - public void getFed() { - isHungry = false; - } +public class Queen implements Royalty { + private boolean isDrunk = true; + private boolean isHungry; + private boolean isHappy; + private boolean isFlirty = true; + private boolean complimentReceived; - @Override - public void getDrink() { - isDrunk = true; - } - - public void receiveCompliments(){ - complimentReceived = true; - } + @Override + public void getFed() { + isHungry = false; + } - @Override - public void changeMood() { - if( complimentReceived && isFlirty && isDrunk ) isHappy = true; - } + @Override + public void getDrink() { + isDrunk = true; + } - @Override - public boolean getMood() { - return isHappy; - } - - public void setFlirtiness(boolean f){ - this.isFlirty = f; - } + public void receiveCompliments() { + complimentReceived = true; + } + + @Override + public void changeMood() { + if (complimentReceived && isFlirty && isDrunk) isHappy = true; + } + + @Override + public boolean getMood() { + return isHappy; + } + + public void setFlirtiness(boolean f) { + this.isFlirty = f; + } } diff --git a/servant/src/main/java/com/iluwatar/Royalty.java b/servant/src/main/java/com/iluwatar/Royalty.java index 2c8bef32d..bcfc8b748 100644 --- a/servant/src/main/java/com/iluwatar/Royalty.java +++ b/servant/src/main/java/com/iluwatar/Royalty.java @@ -1,9 +1,14 @@ package com.iluwatar; interface Royalty { - public void getFed(); - public void getDrink(); - public void changeMood(); - public void receiveCompliments(); - public boolean getMood(); + + void getFed(); + + void getDrink(); + + void changeMood(); + + void receiveCompliments(); + + boolean getMood(); }