public abstract class Resource extends ViewResource
An instance of
 Resource is a Java object representation of the artifact
 that is served up in response to a resource request from the
 client.  Instances of Resource are normally created and
 initialized via calls to ResourceHandler.createResource(java.lang.String).  See
 the documentation for ResourceHandler for more
 information.
| Modifier and Type | Field and Description | 
|---|---|
| static String | COMPONENT_RESOURCE_KEYThis constant is used as the key in the 
 component attribute map of a composite component to associate 
 the component with its  | 
| Constructor and Description | 
|---|
| Resource() | 
| Modifier and Type | Method and Description | 
|---|---|
| String | getContentType()Return the MIME content-type for this resource. | 
| abstract InputStream | getInputStream()If the current request is a resource
 request, (that is,  | 
| String | getLibraryName()Return the libraryName for this resource. | 
| abstract String | getRequestPath()Return a path to this resource such that, when the browser resolves it against the base URI for the view that includes the resource, and issues a GET request to the resultant fully qualified URL, the bytes of the resource are returned in response. | 
| String | getResourceName()Return the resourceName for this resource. | 
| abstract Map<String,String> | getResponseHeaders()Returns a mutable
  | 
| abstract URL | getURL()Return an actual  | 
| void | setContentType(String contentType)Set the MIME content-type for this resource. | 
| void | setLibraryName(String libraryName)Set the libraryName for this resource. | 
| void | setResourceName(String resourceName)Set the resourceName for this resource. | 
| String | toString()Call through to  | 
| abstract boolean | userAgentNeedsUpdate(FacesContext context)Return  | 
public static final String COMPONENT_RESOURCE_KEY
This constant is used as the key in the 
 component attribute map of a composite component to associate 
 the component with its Resource instance.  The
 value for this key is the actual Resource instance.
public String getContentType()
Return the MIME content-type for this resource.
public void setContentType(String contentType)
Set the MIME content-type for this resource. The default implementation performs no validation on the argument.
contentType - the MIME content-type for this resource.  The
 default implementation must accept null as a
 parameter.public String getLibraryName()
Return the libraryName for this
 resource.  May be null.  The libraryName for a
 resource is an optional String that indicates membership in a
 "resource library".  All resources with the same libraryName
 belong to the same "resource library".  The "resource library"
 concept allows disambiguating resources that have the same
 resourceName.  See ResourceHandler for more
 information.
null.public void setLibraryName(String libraryName)
Set the libraryName for this resource.
libraryName - the libraryName for this resource.  The
 default implementation must accept null for the
 libraryName.public String getResourceName()
Return the resourceName for this resource.
 Will never be null.  All Resource instances must
 have a resourceName.
public void setResourceName(String resourceName)
Set the resourceName for this resource.
resourceName - a non-null String.NullPointerException - if argument
 resourceName is null.public abstract InputStream getInputStream() throws IOException
If the current request is a resource
 request, (that is, ResourceHandler.isResourceRequest(javax.faces.context.FacesContext)
 returns true), return an InputStream
 containing the bytes of the resource.  Otherwise, throw an
 IOException.
InputStream containing the bytes of the
 resource.
 Any EL expressions present in the resource must be evaluated before serving the bytes of the resource. Note that due to browser and server caching, EL expressions in a resource file will generally only be evaluated once, when the resource is first served up. Therefore, using EL expressions that refer to per-request data is not advisable since this data can become stale.
IOException - if the current request is not a resource request.public abstract Map<String,String> getResponseHeaders()
Returns a mutable
 Map<String, String> whose entries will be sent
 as response headers during ResourceHandler.handleResourceRequest(javax.faces.context.FacesContext).  The entries in this map
 must not persist beyond the scope of a single request.  Any
 modifications made to the map after the resource has been served
 will be ignored by the run-time.
Map<String, String> of
 headers that will be included with the response.public abstract String getRequestPath()
Return a path to this resource such that, when the browser resolves it against the base URI for the view that includes the resource, and issues a GET request to the resultant fully qualified URL, the bytes of the resource are returned in response.
The default implementation must implement the following algorithm. For discussion, the return result from this method will be called result.
Get the context-root for this web application, not ending in slash. For discussion this will be called contextRoot.
Discover if the FacesServlet is prefix or
 extension mapped, and the value of the mapping (including the
 leading '.'  in the case of extension mapping).  For discussion,
 this will be facesServletMapping.
If prefix mapped, result must be
result = contextRoot + '/' +
 facesServletMapping + ResourceHandler.RESOURCE_IDENTIFIER + '/' + getResourceName()
If extension mapped, result must be
result = contextRoot + ResourceHandler.RESOURCE_IDENTIFIER + getResourceName() +
 facesServletMapping
Build up a string, called resourceMetaData which is an & separated string of name=value pairs suitable for inclusion in a URL query string.
If getLibraryName() returns non-null,
 resourceMetaData must include "ln=" + the return
 from getLibraryName()
If there is a
 localePrefix for this application, as defined in
 ResourceHandler.LOCALE_PREFIX, resourceMetaData must
 include "loc=" + the localePrefix.
If this resource is contained in a
 resource library contract, resourceMetaData must
 include "con=" + the name of the resource library contract.
Append "?" + resourceMetaData to result.
Make it portlet safe by passing the result through ViewHandler.getResourceURL(javax.faces.context.FacesContext, java.lang.String).
public abstract URL getURL()
Return an actual URL
 instance that refers to this resource instance.
getURL in class ViewResourceURL instance that refers to
 this resource instance.public String toString()
Call through to getRequestPath() and return the result.
toString in class ObjectgetRequestPath() and return the
 result.public abstract boolean userAgentNeedsUpdate(FacesContext context)
Return true if
 the user-agent requesting this resource needs an update.  If the If-Modified-Since HTTP
 header is available for this request, its value must be
 consulted, as specified in Section 14.25 of IETF RFC 2616, to
 determine the result. Returns false if the
 user-agent does not need an update for this resource.
true or false depending on
 whether or not the user-agent needs an update of this resource.Copyright © 2018 JBoss by Red Hat. All rights reserved.