package no.java.incogito.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.annotation.Required;
import java.io.File;
import java.net.URL;
/**
* @author <a href="mailto:trygve.laugstol@arktekk.no">Trygve Laugstøl</a>
* @version $Id$
*/
public class ResourceToFileFactoryBean implements FactoryBean {
private static final Logger log = LoggerFactory.getLogger(ResourceToFileFactoryBean.class);
private String resource;
@Required
public void setResource(String resource) {
this.resource = resource;
}
public Object getObject() throws Exception {
URL resource = this.getClass().getClassLoader().getResource(this.resource);
if (resource == null) {
throw new Exception("Could not find resource: " + resource);
}
File file = new File(resource.toURI().getPath()).getAbsoluteFile();
log.debug("Resolved '" + resource + "' to: " + file);
return new File(file, this.resource);
}
public Class getObjectType() {
return String.class;
}
public boolean isSingleton() {
return true;
}
}