/**
* -->This page is prepared by LordAmit
*/
package observer.strategypattern;
/**
* A simple soldier class who has a name and can fight in different modes.
* @author LordAmit
*/
public class Soldier {
private String name;
private IMode solMode;
/**
* constructor of soldier. It sets aggressive fighting mode by default
* @param name specifies the name of Soldier
* @since 2011
*
*/
public Soldier(String name) {
this.name = name;
solMode = new AggressiveFight();
}
/**
* Sets the mode through Mode parameter implemented from IMode interface
* @since 2011
* @param mode sets the mode
*/
public void setMode(IMode mode){
solMode = mode;
}
/**
* Sets the soldier to fight in the mode specified through solMode
* @since 2011
*/
public void fight(){
solMode.fight(this);
}
/**
*
* @return name of the soldier
* @since 2011 <br />
* by lordamit
*/
public String getName() {
return name;
}
}