public interface I_CmsResourceLoader extends I_CmsConfigurationParameterHandler
The I_CmsResourceLoader operates with Request and Response in much the same way as a standard Java web application.
This interface uses a standard servlet
HttpServletRequestWrapper
/ HttpServletResponseWrapper
that provide access to a special implementation of the RequestDispatcher
.
The handling of the output written to the response is done by this
dispatcher. The results are then passed back to OpenCms which
will deliver them to the requesting user.
CmsFlexRequest
,
CmsFlexResponse
,
CmsFlexRequestDispatcher
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PARAMETER_ELEMENT
Request parameter to force element selection.
|
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Destroys this ResourceLoder.
|
byte[] |
dump(CmsObject cms,
CmsResource resource,
java.lang.String element,
java.util.Locale locale,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Dumps the processed content of the the requested file (and it's sub-elements) to a byte array.
|
byte[] |
export(CmsObject cms,
CmsResource resource,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Static exports the contents of the requested file and it's sub-elements.
|
int |
getLoaderId()
Returns the id of the ResourceLoader.
|
java.lang.String |
getResourceLoaderInfo()
Returns a String describing the ResourceLoader.
|
boolean |
isStaticExportEnabled()
Signals if the loader implementation supports static export of resources.
|
boolean |
isStaticExportProcessable()
Signals if the loader implementation requires processing during static export of resources.
|
boolean |
isUsableForTemplates()
Signals if the loader implementation is usable for creating templates.
|
boolean |
isUsingUriWhenLoadingTemplate()
Signals if a loader that supports templates must be invoked on the
template URI or the resource URI.
|
void |
load(CmsObject cms,
CmsResource resource,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Basic top-page processing method for a I_CmsResourceLoader,
this method is called if the page is called as a sub-element
on a page not already loaded with a I_CmsResourceLoader.
|
void |
service(CmsObject cms,
CmsResource resource,
javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res)
Does the job of including the requested resource,
this method is called directly if the element is
called as a sub-element from another I_CmsResourceLoader.
|
addConfigurationParameter, getConfiguration, initConfiguration
static final java.lang.String PARAMETER_ELEMENT
void destroy()
byte[] dump(CmsObject cms, CmsResource resource, java.lang.String element, java.util.Locale locale, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws javax.servlet.ServletException, java.io.IOException, CmsException
Dumping the content is like calling "load" where the result is not written to the response stream, but to the returned byte array. Dumping is different from an export because the export might actually require that the content is handled or modified in a special way, or set special http headers.
Moreover, if the page type is template based, calling "dump" will not trigger the template but directly deliver the contents from the selected element.
cms
- used to access the OpenCms VFSresource
- the requested resource in the VFSelement
- the element in the file to displaylocale
- the locale to displayreq
- the servlet requestres
- the servlet responsejavax.servlet.ServletException
- might be thrown by the servlet environmentjava.io.IOException
- might be thrown by the servlet environmentCmsException
- in case of errors accessing OpenCms functionsbyte[] export(CmsObject cms, CmsResource resource, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws javax.servlet.ServletException, java.io.IOException, CmsException
During static export, the resource content may be written to 2 streams: The export stream, and the http response output stream. Which stream is actually used depends whether the export is in "on demand" or "after publish" mode. In "on demand" mode, the resource needs to be written both to the response stream and to the file stream. In "after publish" mode, it's usually only written to the file stream, but sometimes it's required to write to the response stream as well.
cms
- the initialized CmsObject which provides user permissionsresource
- the requested OpenCms VFS resourcereq
- the servlet requestres
- the servlet responsenull
if no export is requiredjavax.servlet.ServletException
- might be thrown in the process of including the sub elementjava.io.IOException
- might be thrown in the process of including the sub elementCmsException
- in case something goes wrongint getLoaderId()
java.lang.String getResourceLoaderInfo()
boolean isStaticExportEnabled()
boolean isStaticExportProcessable()
boolean isUsableForTemplates()
boolean isUsingUriWhenLoadingTemplate()
void load(CmsObject cms, CmsResource resource, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws javax.servlet.ServletException, java.io.IOException, CmsException
cms
- the initialized CmsObject which provides user permissionsresource
- the requested OpenCms VFS resourcereq
- the servlet requestres
- the servlet responsejavax.servlet.ServletException
- might be thrown by the servlet environmentjava.io.IOException
- might be thrown by the servlet environmentCmsException
- in case of errors accessing OpenCms functionsservice(CmsObject, CmsResource, ServletRequest, ServletResponse)
void service(CmsObject cms, CmsResource resource, javax.servlet.ServletRequest req, javax.servlet.ServletResponse res) throws javax.servlet.ServletException, java.io.IOException, CmsException
cms
- used to access the OpenCms VFSresource
- the requested resource in the VFSreq
- the servlet requestres
- the servlet responsejavax.servlet.ServletException
- might be thrown by the servlet environmentjava.io.IOException
- might be thrown by the servlet environmentCmsException
- in case of errors accessing OpenCms functionsCmsFlexRequestDispatcher