remove boilerplate code

This commit is contained in:
Vladislav Golubinov
2020-09-03 20:04:29 +03:00
parent fb890e80dd
commit e89042a782
2 changed files with 25 additions and 34 deletions

View File

@ -31,6 +31,11 @@
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@ -24,6 +24,9 @@
package com.iluwatar.abstractfactory;
import com.iluwatar.abstractfactory.App.FactoryMaker.KingdomType;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -41,12 +44,19 @@ import org.slf4j.LoggerFactory;
* and its implementations ( {@link ElfKingdomFactory}, {@link OrcKingdomFactory}). The example uses
* both concrete implementations to create a king, a castle and an army.
*/
@Slf4j
public class App {
private static final Logger LOGGER = LoggerFactory.getLogger(App.class);
@Setter
@Getter
private King king;
@Setter
@Getter
private Castle castle;
@Setter
@Getter
private Army army;
/**
@ -58,30 +68,6 @@ public class App {
setArmy(factory.createArmy());
}
public King getKing() {
return king;
}
private void setKing(final King king) {
this.king = king;
}
public Castle getCastle() {
return castle;
}
private void setCastle(final Castle castle) {
this.castle = castle;
}
public Army getArmy() {
return army;
}
private void setArmy(final Army army) {
this.army = army;
}
/**
* The factory of kingdom factories.
*/
@ -118,16 +104,16 @@ public class App {
var app = new App();
LOGGER.info("Elf Kingdom");
log.info("Elf Kingdom");
app.createKingdom(FactoryMaker.makeFactory(KingdomType.ELF));
LOGGER.info(app.getArmy().getDescription());
LOGGER.info(app.getCastle().getDescription());
LOGGER.info(app.getKing().getDescription());
log.info(app.getArmy().getDescription());
log.info(app.getCastle().getDescription());
log.info(app.getKing().getDescription());
LOGGER.info("Orc Kingdom");
log.info("Orc Kingdom");
app.createKingdom(FactoryMaker.makeFactory(KingdomType.ORC));
LOGGER.info(app.getArmy().getDescription());
LOGGER.info(app.getCastle().getDescription());
LOGGER.info(app.getKing().getDescription());
log.info(app.getArmy().getDescription());
log.info(app.getCastle().getDescription());
log.info(app.getKing().getDescription());
}
}