package org.jboss.seam.faces;
import static org.jboss.seam.annotations.Install.FRAMEWORK;
import java.io.InputStream;
import java.net.URL;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.util.FacesResources;
/**
* Access to application resources in tye JSF environment.
*
* @author Gavin King
*
*/
@Scope(ScopeType.STATELESS)
@BypassInterceptors
@Install(precedence=FRAMEWORK, classDependencies="javax.faces.context.FacesContext")
@Name("org.jboss.seam.core.resourceLoader")
public class ResourceLoader extends org.jboss.seam.core.ResourceLoader
{
@Override
public InputStream getResourceAsStream(String resource)
{
javax.faces.context.FacesContext context = javax.faces.context.FacesContext.getCurrentInstance();
if (context!=null)
{
return FacesResources.getResourceAsStream( resource, context.getExternalContext() );
}
else
{
return super.getResourceAsStream(resource);
}
}
@Override
public URL getResource(String resource)
{
javax.faces.context.FacesContext context = javax.faces.context.FacesContext.getCurrentInstance();
if (context!=null)
{
return FacesResources.getResource( resource, context.getExternalContext() );
}
else
{
return super.getResource(resource);
}
}
}