/*
 * @(#)IDProviderFactory.java
 *
 * Copyright (C) 2007 Infocity Inc. All Rights Reserved.
 */
package info.dragonlady.sso;

import info.dragonlady.sso.util.ResourceParseException;

/**
 * ID管理インスタンス生成クラス。
 * 
 * @author Hiroshi.Ebata(INFOCITY)
 * @version $Revision: 1.0 $ $Date: 2007/05/01 21:12:46 $
 */
public class IDProviderFactory {

	/**
	 * デフォルトID管理インスタンス取得。
	 * 
	 * @return IDProvider ID管理インスタンス
	 * @throws ResourceParseException
	 * @throws InstantiationException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 */
	public static final IDProvider getIDProvider() throws ResourceParseException, InstantiationException, IllegalAccessException, ClassNotFoundException {
		return getIDProvider(SSOConfig.getIDProviderClass());
	}

	/**
	 * 指定されたクラス名のID管理インスタンス取得。
	 * 
	 * @param className ID管理クラス名
	 * @return IDProvider ID管理インスタンス
	 * @throws InstantiationException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 */
	public static final IDProvider getIDProvider(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
		return (IDProvider)Class.forName(className).newInstance();
	}

}
