Class CmsSeoFileLoader
- java.lang.Object
-
- org.opencms.loader.CmsSeoFileLoader
-
- All Implemented Interfaces:
I_CmsConfigurationParameterHandler
,I_CmsResourceLoader
,I_CmsResourceStringDumpLoader
public class CmsSeoFileLoader extends java.lang.Object
The SEO file loader.
-
-
Field Summary
Fields Modifier and Type Field Description static int
LOADER_ID
The loader id.static java.lang.String
TEMPLATE_PATH
The SEO file template JSP path.-
Fields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
-
Fields inherited from interface org.opencms.loader.I_CmsResourceLoader
PARAMETER_ELEMENT
-
-
Constructor Summary
Constructors Constructor Description CmsSeoFileLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConfigurationParameter(java.lang.String paramName, java.lang.String paramValue)
Adds a configuration parameter to this parameter configurable class instance.void
destroy()
Destroys this ResourceLoder.byte[]
dump(CmsObject cms, CmsResource resource, java.lang.String element, java.util.Locale selectedLocale, 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.java.lang.String
dumpAsString(CmsObject cms, CmsResource resource, java.lang.String element, java.util.Locale selectedLocale, javax.servlet.ServletRequest req, javax.servlet.ServletResponse res)
Dumps the processed content of the the requested file (and it's sub-elements) to a String.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.CmsParameterConfiguration
getConfiguration()
Returnsnull
since XML document loaders does usually not need to be configured.int
getLoaderId()
Returns the id of the ResourceLoader.java.lang.String
getResourceLoaderInfo()
Returns a String describing the ResourceLoader.protected CmsTemplateLoaderFacade
getTemplateLoaderFacade(CmsObject cms, CmsResource resource, javax.servlet.http.HttpServletRequest req)
Returns the template loader facade for the given resource.protected java.lang.String
getTemplatePropertyDefinition()
Returns the property definition name used to selecte the template for this XML document resource loader.void
initConfiguration()
Initializes a configuration after all parameters have been added.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.protected void
setTemplateRequestAttributes(CmsTemplateLoaderFacade loaderFacade, javax.servlet.http.HttpServletRequest req)
Sets request attributes that provide access to the template configuration.protected I_CmsXmlDocument
unmarshalXmlDocument(CmsObject cms, CmsResource resource, javax.servlet.ServletRequest req)
Returns the unmarshalled XML document.
-
-
-
Field Detail
-
LOADER_ID
public static final int LOADER_ID
The loader id.- See Also:
- Constant Field Values
-
TEMPLATE_PATH
public static final java.lang.String TEMPLATE_PATH
The SEO file template JSP path.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CmsSeoFileLoader
public CmsSeoFileLoader()
-
-
Method Detail
-
getLoaderId
public int getLoaderId()
Description copied from interface:I_CmsResourceLoader
Returns the id of the ResourceLoader.- Returns:
- the id of the ResourceLoader
- See Also:
I_CmsResourceLoader.getLoaderId()
-
getResourceLoaderInfo
public java.lang.String getResourceLoaderInfo()
Description copied from interface:I_CmsResourceLoader
Returns a String describing the ResourceLoader.- Returns:
- a String describing the ResourceLoader
- See Also:
I_CmsResourceLoader.getResourceLoaderInfo()
-
getTemplateLoaderFacade
protected CmsTemplateLoaderFacade getTemplateLoaderFacade(CmsObject cms, CmsResource resource, javax.servlet.http.HttpServletRequest req) throws CmsException
Returns the template loader facade for the given resource.- Parameters:
cms
- the cms contextresource
- the resourcereq
- the current request- Returns:
- the loader facade
- Throws:
CmsException
- in case reading the template property fails- See Also:
A_CmsXmlDocumentLoader.getTemplateLoaderFacade(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.http.HttpServletRequest)
-
getTemplatePropertyDefinition
protected java.lang.String getTemplatePropertyDefinition()
Returns the property definition name used to selecte the template for this XML document resource loader.- Returns:
- the property definition name used to selecte the template for this XML document resource loader
- See Also:
A_CmsXmlDocumentLoader.getTemplatePropertyDefinition()
-
unmarshalXmlDocument
protected I_CmsXmlDocument unmarshalXmlDocument(CmsObject cms, CmsResource resource, javax.servlet.ServletRequest req) throws CmsException
Returns the unmarshalled XML document.- Parameters:
cms
- the current users OpenCms contextresource
- the requested resourcereq
- the current Servlet request- Returns:
- the unmarshalled XML document
- Throws:
CmsException
- in case the unmarshalling fails- See Also:
A_CmsXmlDocumentLoader.unmarshalXmlDocument(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.ServletRequest)
-
addConfigurationParameter
public void addConfigurationParameter(java.lang.String paramName, java.lang.String paramValue)
Description copied from interface:I_CmsConfigurationParameterHandler
Adds a configuration parameter to this parameter configurable class instance.- Specified by:
addConfigurationParameter
in interfaceI_CmsConfigurationParameterHandler
- Parameters:
paramName
- the name of the parameterparamValue
- the value for the parameter- See Also:
I_CmsConfigurationParameterHandler.addConfigurationParameter(java.lang.String, java.lang.String)
-
destroy
public void destroy()
Description copied from interface:I_CmsResourceLoader
Destroys this ResourceLoder.- Specified by:
destroy
in interfaceI_CmsResourceLoader
- See Also:
I_CmsResourceLoader.destroy()
-
dump
public byte[] dump(CmsObject cms, CmsResource resource, java.lang.String element, java.util.Locale selectedLocale, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws CmsException, java.io.IOException
Description copied from interface:I_CmsResourceLoader
Dumps the processed content of the the requested file (and it's sub-elements) to a byte array.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.
- Specified by:
dump
in interfaceI_CmsResourceLoader
- Parameters:
cms
- used to access the OpenCms VFSresource
- the requested resource in the VFSelement
- the element in the file to displayselectedLocale
- the locale to displayreq
- the servlet requestres
- the servlet response- Returns:
- the content of the processed file
- Throws:
CmsException
- in case of errors accessing OpenCms functionsjava.io.IOException
- might be thrown by the servlet environment- See Also:
I_CmsResourceLoader.dump(org.opencms.file.CmsObject, org.opencms.file.CmsResource, java.lang.String, java.util.Locale, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
-
dumpAsString
public java.lang.String dumpAsString(CmsObject cms, CmsResource resource, java.lang.String element, java.util.Locale selectedLocale, javax.servlet.ServletRequest req, javax.servlet.ServletResponse res) throws CmsException
Description copied from interface:I_CmsResourceStringDumpLoader
Dumps the processed content of the the requested file (and it's sub-elements) to a String.This is a special form of
where the result is required in a String, for example for printing it to a writer.I_CmsResourceLoader.dump(CmsObject, CmsResource, String, Locale, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
- Specified by:
dumpAsString
in interfaceI_CmsResourceStringDumpLoader
- Parameters:
cms
- used to access the OpenCms VFSresource
- the requested resource in the VFSelement
- the element in the file to displayselectedLocale
- the locale to displayreq
- the servlet requestres
- the servlet response- Returns:
- the content of the processed file as a String
- Throws:
CmsException
- in case of errors acessing OpenCms functions- See Also:
I_CmsResourceStringDumpLoader.dumpAsString(org.opencms.file.CmsObject, org.opencms.file.CmsResource, java.lang.String, java.util.Locale, javax.servlet.ServletRequest, javax.servlet.ServletResponse)
-
export
public byte[] export(CmsObject cms, CmsResource resource, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws javax.servlet.ServletException, java.io.IOException, CmsException
Description copied from interface:I_CmsResourceLoader
Static exports the contents of the requested file and it's sub-elements.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.
- Specified by:
export
in interfaceI_CmsResourceLoader
- Parameters:
cms
- the initialized CmsObject which provides user permissionsresource
- the requested OpenCms VFS resourcereq
- the servlet requestres
- the servlet response- Returns:
- the contents to export, or
null
if no export is required - Throws:
javax.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 wrong- See Also:
I_CmsResourceLoader.export(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
-
getConfiguration
public CmsParameterConfiguration getConfiguration()
Returnsnull
since XML document loaders does usually not need to be configured.- Specified by:
getConfiguration
in interfaceI_CmsConfigurationParameterHandler
- Returns:
- the parameters of this configurable class instance,
or
null
if the class does not need any parameters - See Also:
I_CmsConfigurationParameterHandler.getConfiguration()
-
initConfiguration
public void initConfiguration()
Description copied from interface:I_CmsConfigurationParameterHandler
Initializes a configuration after all parameters have been added.- Specified by:
initConfiguration
in interfaceI_CmsConfigurationParameterHandler
- See Also:
I_CmsConfigurationParameterHandler.initConfiguration()
-
isStaticExportEnabled
public boolean isStaticExportEnabled()
Description copied from interface:I_CmsResourceLoader
Signals if the loader implementation supports static export of resources.- Specified by:
isStaticExportEnabled
in interfaceI_CmsResourceLoader
- Returns:
- true if static export is supported, false otherwise
- See Also:
I_CmsResourceLoader.isStaticExportEnabled()
-
isStaticExportProcessable
public boolean isStaticExportProcessable()
Description copied from interface:I_CmsResourceLoader
Signals if the loader implementation requires processing during static export of resources.- Specified by:
isStaticExportProcessable
in interfaceI_CmsResourceLoader
- Returns:
- true if static export processing is required, false otherwise
- See Also:
I_CmsResourceLoader.isStaticExportProcessable()
-
isUsableForTemplates
public boolean isUsableForTemplates()
Description copied from interface:I_CmsResourceLoader
Signals if the loader implementation is usable for creating templates.- Specified by:
isUsableForTemplates
in interfaceI_CmsResourceLoader
- Returns:
- true if the loader implementation is usable for creating templates, false otherwise
- See Also:
I_CmsResourceLoader.isUsableForTemplates()
-
isUsingUriWhenLoadingTemplate
public boolean isUsingUriWhenLoadingTemplate()
Description copied from interface:I_CmsResourceLoader
Signals if a loader that supports templates must be invoked on the template URI or the resource URI.- Specified by:
isUsingUriWhenLoadingTemplate
in interfaceI_CmsResourceLoader
- Returns:
- true if the resource URI is to be used, false if the template URI is to be used
- See Also:
I_CmsResourceLoader.isUsingUriWhenLoadingTemplate()
-
load
public void load(CmsObject cms, CmsResource resource, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws javax.servlet.ServletException, java.io.IOException, CmsException
Description copied from interface:I_CmsResourceLoader
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.- Specified by:
load
in interfaceI_CmsResourceLoader
- Parameters:
cms
- the initialized CmsObject which provides user permissionsresource
- the requested OpenCms VFS resourcereq
- the servlet requestres
- the servlet response- Throws:
javax.servlet.ServletException
- might be thrown by the servlet environmentjava.io.IOException
- might be thrown by the servlet environmentCmsException
- in case of errors accessing OpenCms functions- See Also:
I_CmsResourceLoader.load(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
-
service
public void service(CmsObject cms, CmsResource resource, javax.servlet.ServletRequest req, javax.servlet.ServletResponse res) throws java.io.IOException, CmsException
Description copied from interface:I_CmsResourceLoader
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.- Specified by:
service
in interfaceI_CmsResourceLoader
- Parameters:
cms
- used to access the OpenCms VFSresource
- the requested resource in the VFSreq
- the servlet requestres
- the servlet response- Throws:
java.io.IOException
- might be thrown by the servlet environmentCmsException
- in case of errors accessing OpenCms functions- See Also:
I_CmsResourceLoader.service(org.opencms.file.CmsObject, org.opencms.file.CmsResource, javax.servlet.ServletRequest, javax.servlet.ServletResponse)
-
setTemplateRequestAttributes
protected void setTemplateRequestAttributes(CmsTemplateLoaderFacade loaderFacade, javax.servlet.http.HttpServletRequest req)
Sets request attributes that provide access to the template configuration.- Parameters:
loaderFacade
- the template loader facadereq
- the servlet request
-
-