first version of pattern without Tests
This commit is contained in:
30
extension-objects/src/main/java/units/CommanderUnit.java
Normal file
30
extension-objects/src/main/java/units/CommanderUnit.java
Normal 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);
|
||||
}
|
||||
}
|
30
extension-objects/src/main/java/units/SergeantUnit.java
Normal file
30
extension-objects/src/main/java/units/SergeantUnit.java
Normal 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);
|
||||
}
|
||||
}
|
30
extension-objects/src/main/java/units/SoldierUnit.java
Normal file
30
extension-objects/src/main/java/units/SoldierUnit.java
Normal 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);
|
||||
}
|
||||
}
|
27
extension-objects/src/main/java/units/Unit.java
Normal file
27
extension-objects/src/main/java/units/Unit.java
Normal 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user