// Path: src/main/java/model/Knight.java
// public interface Knight {
//     String getName();
// 
//     void setWeapon(KnightWeapon knightWeapon);
// 
//     KnightWeapon getWeapon();
// 
//     Knight cloneKnight() throws CloneNotSupportedException;
// 
//     Integer getDamage();
// 
//     void readQuest(String questDetails);
// 
//     Double getArmor();
// 
//     void reduceArmor(Double reduceValue);
// 
// }


import model.Knight;
package behavioral.chainofresponsibility;


/**
 * Dragon slayer agency with one knight that anyone can rent to slay a dragon,
 * in case that dragon is to strong it asks next rep to help out. Finding the
 * right knight is the ultimate goal
 * 
 * @author prvoslav
 * 
 *         Chain of responsibility
 */
public class DragonSlayerRepresentitive extends AbstractDragonSlayerRepresentative {

    private Knight knight = null;

    public DragonSlayerRepresentitive(DragonSlayer nextRep, Knight knight) {
	super(nextRep);
	this.knight = knight;
    }

    public Knight getKnight() {
// Path: src/main/java/model/Knight.java
// public interface Knight {
//     String getName();
// 
//     void setWeapon(KnightWeapon knightWeapon);
// 
//     KnightWeapon getWeapon();
// 
//     Knight cloneKnight() throws CloneNotSupportedException;
// 
//     Integer getDamage();
// 
//     void readQuest(String questDetails);
// 
//     Double getArmor();
// 
//     void reduceArmor(Double reduceValue);
// 
// }


// Path: src/main/java/behavioral/chainofresponsibility/DragonSlayerRepresentitive.java
import model.Knight;

package behavioral.chainofresponsibility;


/**
 * Dragon slayer agency with one knight that anyone can rent to slay a dragon,
 * in case that dragon is to strong it asks next rep to help out. Finding the
 * right knight is the ultimate goal
 * 
 * @author prvoslav
 * 
 *         Chain of responsibility
 */
public class DragonSlayerRepresentitive extends AbstractDragonSlayerRepresentative {

    private Knight knight = null;

    public DragonSlayerRepresentitive(DragonSlayer nextRep, Knight knight) {
	super(nextRep);
	this.knight = knight;
    }

    public Knight getKnight() {
	return knight;