// 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/model/KnightFamily.java
// public enum KnightFamily {
//     HOLY, MAJESTIC
// }


import model.Knight;
import model.KnightFamily;
package creational.abstractfactory;


/**
 * 
 * @author prvoslav
 *
 */
public class Main {

    public static void main(String[] args) {
	//Create factory
// 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/model/KnightFamily.java
// public enum KnightFamily {
//     HOLY, MAJESTIC
// }


// Path: src/main/java/creational/abstractfactory/Main.java
import model.Knight;
import model.KnightFamily;

package creational.abstractfactory;


/**
 * 
 * @author prvoslav
 *
 */
public class Main {

    public static void main(String[] args) {
	//Create factory
	Factory factory = FactoryProducer.getFactory(KnightFamily.MAJESTIC);