package ui;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MenuUi extends AbstractUiTemplate {
    
    private SelectEventUi selectEventUi;
    
    private SelectUserUi selectUserUi;
    
    public void setSelectEventUi(SelectEventUi selectEventUi) {
        this.selectEventUi = selectEventUi;
    }
    
    public void setSelectUserUi(SelectUserUi selectUserUi) {
        this.selectUserUi = selectUserUi;
    }

    protected void execute(int number) {
        switch (number) {
        case 1:
            // 1.Á¾·á
            System.out.println("Á¾·áµÇ¾ú½À´Ï´Ù.");
            System.exit(0);
        case 2:
            // 2.ÀÌº¥Æ® °Ë»ö
            this.selectEventUi.show();
            break;
        case 3:
            // 3.¿¹¾à ¿Ï·á Æ¼ÄÏ ¸ñ·Ï
            this.selectUserUi.show();
            break;
        }
    }

    protected int getMaxMenuNumber() {
        return 3;
    }

    protected int getMinMenuNumber() {
        return 1;
    }

    protected void showMenu() {
        System.out.println("--------------------");
        System.out.println("¡ºÆ¼ÄÏ ¿¹¾à¡»¡¸¸Þ´º¡¹");
        System.out.println("");
        System.out.println("1.Á¾·á");
        System.out.println("2.ÀÌº¥Æ® °Ë»ö");
        System.out.println("3.¿¹¾à ¿Ï·á Æ¼ÄÏ ¸ñ·Ï");
        System.out.println("");
        System.out.println("¹øÈ£¸¦ ÀÔ·ÂÇÑ ÈÄ Enter¸¦ ´­·¯ÁÖ¼¼¿ä.");
    }

    public static void main(String[] args) {
        // ½ºÇÁ¸µ ¼³Á¤ÆÄÀÏ ÀÐ±â
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        MenuUi menuUi = context.getBean(MenuUi.class);
        while (true) {
            menuUi.show();
        }
    }
}
