Class ResourceManager

java.lang.Object
com.sun.faces.application.resource.ResourceManager

public class ResourceManager extends Object
This class is used to lookup ResourceInfo instances and cache any that are successfully looked up to reduce the computational overhead with the scanning/version checking.
Since:
2.0
  • Constructor Details

  • Method Details

    • findResource

      public ResourceInfo findResource(String libraryName, String resourceName, String contentType, FacesContext ctx)

      Attempt to lookup a ResourceInfo based on the specified libraryName and resourceName

      Implementation Note: Synchronization is necessary when looking up compressed resources. This ensures the atomicity of the content being compressed. As such, the cost of doing this is low as once the resource is in the cache, the lookup won't be performed again until the cache is cleared. That said, it's not a good idea to have caching disabled in a production environment if leveraging compression. If the resource isn't compressable, then we don't worry about creating a few extra copies of ResourceInfo until the cache is populated.

      Parameters:
      libraryName - the name of the library (if any)
      resourceName - the name of the resource
      contentType - the content type of the resource. This will be used to determine if the resource is compressable
      ctx - the FacesContext for the current request
      Returns:
      a ResourceInfo if a resource if found matching the provided arguments, otherwise, return null
    • findViewResource

      public ResourceInfo findViewResource(String resourceName, String contentType, FacesContext facesContext)
    • findResource

      public ResourceInfo findResource(String libraryName, String resourceName, String contentType, boolean isViewResource, FacesContext ctx)
    • getViewResources

      public Stream<String> getViewResources(FacesContext facesContext, String path, int maxDepth, ResourceVisitOption... options)