package pt.ist.fenixframework.util;
import java.net.URL;
/**
* Looks in the current class path for a particular file
*
* @author Pedro Ruivo
* @since 2.0
*/
public class FileLookup {
/**
* Looks in the class path for a file. The file name is returned by the property {@param propertyName} value and
* if this value is not found, it uses the {@param defaultFileName}
*
* @param propertyName the property name that contains the file name to find
* @param defaultFileName the default file name (if the properties is not found)
* @return the URL for the file defined by {@param fileName}
*/
public static URL find(String propertyName, String defaultFileName) {
String fileName;
if (propertyName != null) {
fileName = System.getProperty(propertyName, defaultFileName);
} else {
fileName = defaultFileName;
}
return find(fileName);
}
/**
* @param fileName the file name
* @return the URL for the file defined by {@param fileName}
*/
public static URL find(String fileName) {
URL url = Thread.currentThread().getContextClassLoader().getResource(fileName);
if (url == null) {
url = ClassLoader.getSystemClassLoader().getResource(fileName);
}
return url;
}
}