//
//	UserIDFolder
//	変更履歴
//		2007.08.09	新規作成
//

package jp.co.ntt.lms.lo.util;

import java.io.File;

/**
 * ユーザーIDに対応したフォルダパスを生成するクラス<br>
 * <br>
 * ユーザーID を 2桁 ずつ区切って、パスを生成します。<br>
 * 最上位のフォルダは ユーザID の桁数を名前とします。<br>
 * 最下位のフォルダは ユーザID を名前とします。<br>
 * 例えば、<br>
 * PE012345  → 8/PE/01/23/PE012345 となります。<br>
 * PE0123456 → 9/PE/01/23/45/PE0123456 となります。<br>
 * <br>
 * @author yasu
 *
 */
public class UserIDFolder {

	public static String getPath(String baseDirPath, String userID) {
		return getFile(new File(baseDirPath), userID).getPath();
	}

	public static File getFile(File baseDir, String userID) {
		int i = 0;
		int length = userID.length();
		
		File file = new File(baseDir, String.valueOf(length));
		
		i = 0;
		while (true) {
			if (length - i * 2 > 2) {
				file = new File(file, userID.substring(i * 2, i * 2 + 2));
			} else {
				break;
			}
			i++;
		}
		file = new File(file, userID);

		return file;
	}
}
