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 Summary
Constructors Constructor Description ResourceManager(ResourceCache cache)
ResourceManager(Map<String,Object> appMap, ResourceCache cache)
Constructs a newResourceManager
. -
Method Summary
Modifier and Type Method Description ResourceInfo
findResource(String libraryName, String resourceName, String contentType, boolean isViewResource, FacesContext ctx)
ResourceInfo
findResource(String libraryName, String resourceName, String contentType, FacesContext ctx)
Attempt to lookup aResourceInfo
based on the specifiedlibraryName
and
resourceName
ResourceInfo
findViewResource(String resourceName, String contentType, FacesContext facesContext)
Stream<String>
getViewResources(FacesContext facesContext, String path, int maxDepth, ResourceVisitOption... options)
-
Constructor Details
-
ResourceManager
-
ResourceManager
Constructs a newResourceManager
. Note: if the currentProjectStage
isProjectStage.Development
caching orResourceInfo
instances will not occur.
-
-
Method Details
-
findResource
public ResourceInfo findResource(String libraryName, String resourceName, String contentType, FacesContext ctx)Attempt to lookup a
ResourceInfo
based on the specifiedlibraryName
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 resourcecontentType
- the content type of the resource. This will be used to determine if the resource is compressablectx
- theFacesContext
for the current request- Returns:
- a
ResourceInfo
if a resource if found matching the provided arguments, otherwise, returnnull
-
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)
-