package org.positrium.ui;

import java.io.File;
import java.io.FileNotFoundException;
import java.net.URL;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 本質的には、Toolkitに渡すファイルリソースの存在を確認するものだが<br>
 * runnable jar実行時とIDE実行時の両方に対応させている。
 * @author token , 2009 CC BY-SA
 * @version $Rev: 210 $
 */
public class FileResource {
	private URL url;

	/**
	 * resourceディレクトリ内のファイルリソースを取り出す
	 * 
	 * @param pathname
	 * @throws FileNotFoundException
	 */
	public FileResource(String pathname) throws FileNotFoundException {
		this.url = getClass().getClassLoader().getResource(pathname);

		if (this.url == null) {
			// for IDE ( resource dir in CLASS-FOLDER ) 
			this.url = getClass().getClassLoader().getResource(
					pathname.replace("resource/", ""));
		}
		
		File test = new File(this.url.getPath());
		if(!test.exists()){
			throw new FileNotFoundException("ResourceFile not found!: "+test.getAbsolutePath());
		}
		
		
	}

	/**
	 * リソースパスをURL型に変換する
	 * @return URL型リソースパス
	 */
	public URL toURL() {
		return this.url;
	}
	
	/**
	 * リソースパスをPath型に変換する
	 * @return Path型リソースパス
	 */
	public String toPath(){
		return this.url.getPath();
	}
}
