first version of pattern without Tests

This commit is contained in:
SrdjanPaunovic
2017-04-27 13:58:58 +02:00
parent 82b9f4fea7
commit 645e91ed23
14 changed files with 281 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
package units;
import abstractextensions.CommanderExtension;
import abstractextensions.UnitExtension;
import concreteextensions.Commander;
/**
* Created by Srdjan on 27-Apr-17.
*/
public class CommanderUnit extends Unit {
private CommanderExtension commanderExtension;
public CommanderUnit(String name) {
super(name);
}
@Override
public UnitExtension getUnitExtension(String extensionName) {
if (extensionName.equals("CommanderExtension")) {
if (commanderExtension == null) {
commanderExtension = new Commander(this);
}
return commanderExtension;
}
return super.getUnitExtension(extensionName);
}
}

View File

@@ -0,0 +1,30 @@
package units;
import abstractextensions.SergeantExtension;
import abstractextensions.UnitExtension;
import concreteextensions.Sergeant;
/**
* Created by Srdjan on 27-Apr-17.
*/
public class SergeantUnit extends Unit {
private SergeantExtension sergeantExtension;
public SergeantUnit(String name) {
super(name);
}
@Override
public UnitExtension getUnitExtension(String extensionName) {
if (extensionName.equals("SergeantExtension")) {
if (sergeantExtension == null) {
sergeantExtension = new Sergeant(this);
}
return sergeantExtension;
}
return super.getUnitExtension(extensionName);
}
}

View File

@@ -0,0 +1,30 @@
package units;
import abstractextensions.SoldierExtension;
import abstractextensions.UnitExtension;
import concreteextensions.Soldier;
/**
* Created by Srdjan on 26-Apr-17.
*/
public class SoldierUnit extends Unit {
private SoldierExtension soldierExtension;
public SoldierUnit(String name) {
super(name);
}
@Override
public UnitExtension getUnitExtension(String extensionName) {
if (extensionName.equals("SoldierExtension")) {
if (soldierExtension == null) {
soldierExtension = new Soldier(this);
}
return soldierExtension;
}
return super.getUnitExtension(extensionName);
}
}

View File

@@ -0,0 +1,27 @@
package units;
import abstractextensions.UnitExtension;
/**
* Created by Srdjan on 26-Apr-17.
*/
public class Unit {
private String name;
public Unit(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public UnitExtension getUnitExtension(String extensionName) {
return null;
}
}