/**
 * ÀÌ ¼Ò½º´Â Spring ÇÁ·¹ÀÓ¿öÅ© ¿öÅ©ºÏ¿¡¼­ »ç¿ëÇÑ ¿¹Á¦ ¼Ò½ºÀÔ´Ï´Ù. 
 * ÀÌ ¼Ò½º´Â ¸ðµç °³¹ßÀÚµéÀÌ ÀÚÀ¯·Ó°Ô ¼öÁ¤ ¹× ¹èÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. 
 * ´Ü, ÀÌ ¼Ò½º¸¦ ±â¹ÝÀ¸·Î »õ·Î¿î ¾ÖÇÃ¸®ÄÉÀÌ¼ÇÀ» °³¹ßÇÒ °æ¿ì ÃâÃ³¸¦ ¸í½ÃÇØ ÁÖ½Ã¸é µË´Ï´Ù. 
 */
package net.javajigi.user.dao;

import net.javajigi.db.DBNotSupportedException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class UserDAOFactory {
    protected static final Log logger = LogFactory.getLog(UserDAOFactory.class);

    public static int MYSQL_DB = 0;

    private UserDAOFactory() {
    }

    public static UserDAO getUserDAO(int useDB) {
        if (useDB == MYSQL_DB) {
            return new MySQLUserDAO();
        } else {
            if (logger.isErrorEnabled()) {
                logger.error("ÇöÀç Áö¿ø °¡´ÉÇÑ µ¥ÀÌÅÍº£ÀÌ½º´Â MySQL µ¥ÀÌÅÍº£ÀÌ½º ÀÔ´Ï´Ù."
                        + "ÀÌ¿ÜÀÇ µ¥ÀÌÅÍº£ÀÌ½º´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.");
            }

            throw new DBNotSupportedException(
                    "ÇöÀç Áö¿ø °¡´ÉÇÑ µ¥ÀÌÅÍº£ÀÌ½º´Â MySQL µ¥ÀÌÅÍº£ÀÌ½º ÀÔ´Ï´Ù."
                            + "ÀÌ¿ÜÀÇ µ¥ÀÌÅÍº£ÀÌ½º´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.");
        }
    }
}
