Interface I_CmsResourceWrapper
-
- All Known Implementing Classes:
A_CmsResourceExtensionWrapper
,A_CmsResourceWrapper
,CmsResourceExtensionWrapperJsp
,CmsResourceExtensionWrapperXmlContent
,CmsResourceExtensionWrapperXmlPage
,CmsResourceWrapperModules
,CmsResourceWrapperModulesNonLazy
,CmsResourceWrapperPreventCreateNameCI
,CmsResourceWrapperPreventCreateNameRegex
,CmsResourceWrapperPropertyFile
,CmsResourceWrapperReplaceDeleted
,CmsResourceWrapperSystemFolder
,CmsResourceWrapperXmlPage
public interface I_CmsResourceWrapper
Interface which is used by theCmsObjectWrapper
to create a different view to the resources in the VFS.It is possible to create "new" virtual resource in the view to the clients using the
CmsObjectWrapper
or to change the existing ones. For example adding the correct file extension for resources, because it is not always given that resources of type jsp have the extension ".jsp". A resource wrapper just could add this extension, so that clients can handle that resource correctly.Each method in the implementing classes first have to check in every method if it is responsible for the action to execute, because the
CmsObjectWrapper
iterates through all configured resource wrappers and the first which feels responsible wins and the others won't even called.- Since:
- 6.2.4
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<CmsResource>
addResourcesToFolder(CmsObject cms, java.lang.String resourcename, CmsResourceFilter filter)
Here it is possible to add additional (virtual) child resources to those already existing in the VFS.void
configure(java.lang.String configuration)
If there is a configuration string for the wrapper, this method will be called with the configuration string before it is used.boolean
copyResource(CmsObject cms, java.lang.String source, java.lang.String destination, CmsResource.CmsResourceCopyMode siblingMode)
Copies a resource.CmsResource
createResource(CmsObject cms, java.lang.String resourcename, int type, byte[] content, java.util.List<CmsProperty> properties)
Creates a new resource of the given resource type with the provided content and properties.boolean
deleteResource(CmsObject cms, java.lang.String resourcename, CmsResource.CmsResourceDeleteMode siblingMode)
Deletes a resource given its name.CmsLock
getLock(CmsObject cms, CmsResource resource)
Returns the lock for the resource.boolean
isWrappedResource(CmsObject cms, CmsResource res)
Is called to check if the given resource is handled by this wrapper.boolean
lockResource(CmsObject cms, java.lang.String resourcename, boolean temporary)
Locks a resource.boolean
moveResource(CmsObject cms, java.lang.String source, java.lang.String destination)
Moves a resource to the given destination.CmsFile
readFile(CmsObject cms, java.lang.String resourcename, CmsResourceFilter filter)
Reads a file resource (including it's binary content) from the VFS, using the specified resource filter.CmsResource
readResource(CmsObject cms, java.lang.String resourcename, CmsResourceFilter filter)
Reads a resource from the VFS, using the specified resource filter.java.lang.String
restoreLink(CmsObject cms, java.lang.String uri)
Returns the link to a existing resource in the VFS for the uri.java.lang.String
rewriteLink(CmsObject cms, CmsResource res)
Returns the link how it is for the resource after using this resource wrapper.boolean
unlockResource(CmsObject cms, java.lang.String resourcename)
Unlocks a resource.CmsResource
wrapResource(CmsObject cms, CmsResource resource)
Changes the given resource based on the implementation of this wrapper.CmsFile
writeFile(CmsObject cms, CmsFile resource)
Writes a resource, including it's content.
-
-
-
Method Detail
-
addResourcesToFolder
java.util.List<CmsResource> addResourcesToFolder(CmsObject cms, java.lang.String resourcename, CmsResourceFilter filter) throws CmsException
Here it is possible to add additional (virtual) child resources to those already existing in the VFS.- Parameters:
cms
- the current users OpenCms contextresourcename
- the full path of the resource where to add the child resources forfilter
- the resource filter to use- Returns:
- a list of all additionaly child
sCmsResource
- Throws:
CmsException
- if something goes wrong- See Also:
CmsObjectWrapper.getResourcesInFolder(String, CmsResourceFilter)
-
configure
void configure(java.lang.String configuration)
If there is a configuration string for the wrapper, this method will be called with the configuration string before it is used.Otherwise, it will not be called.
- Parameters:
configuration
- the configuration string for the wrapper
-
copyResource
boolean copyResource(CmsObject cms, java.lang.String source, java.lang.String destination, CmsResource.CmsResourceCopyMode siblingMode) throws CmsException, CmsIllegalArgumentException
Copies a resource.First should be a check if the source and/or the destination are handled by this resource wrapper.
It is possible that the path in the source or in the destination are virtual paths and so has to be translated into valid paths existing in the VFS to copy the resource.
- Parameters:
cms
- the initialized CmsObjectsource
- the name of the resource to copydestination
- the name of the copy destination with complete pathsiblingMode
- indicates how to handle siblings during copy- Returns:
- true if the copy action was handled by this resource wrapper otherwise false
- Throws:
CmsIllegalArgumentException
- if thedestination
argument is null or of length 0CmsException
- if something goes wrong- See Also:
CmsObjectWrapper.copyResource(String, String, CmsResource.CmsResourceCopyMode)
,CmsObject.copyResource(String, String, CmsResource.CmsResourceCopyMode)
-
createResource
CmsResource createResource(CmsObject cms, java.lang.String resourcename, int type, byte[] content, java.util.List<CmsProperty> properties) throws CmsException, CmsIllegalArgumentException
Creates a new resource of the given resource type with the provided content and properties.First should be a check if the resourcename is handled by this resource wrapper.
It is possible that the path in the resourcename is a virtual path and so has to be translated into a valid path existing in the VFS to create the resource.
- Parameters:
cms
- the initialized CmsObjectresourcename
- the name of the resource to create (full path)type
- the type of the resource to createcontent
- the content for the new resourceproperties
- the properties for the new resource- Returns:
- the created resource or null if not handled by this resource wrapper
- Throws:
CmsException
- if something goes wrongCmsIllegalArgumentException
- if thesource
argument is null or of length 0- See Also:
CmsObjectWrapper.createResource(String, int, byte[], List)
,CmsObject.createResource(String, int, byte[], List)
-
deleteResource
boolean deleteResource(CmsObject cms, java.lang.String resourcename, CmsResource.CmsResourceDeleteMode siblingMode) throws CmsException
Deletes a resource given its name.First should be a check if the resourcename is handled by this resource wrapper.
It is possible that the path in the resourcename is a virtual path and so has to be translated into a valid path existing in the VFS to delete the resource.
- Parameters:
cms
- the initialized CmsObjectresourcename
- the name of the resource to deletesiblingMode
- indicates how to handle siblings of the deleted resource- Returns:
- true if the delete action was handled by this resource wrapper otherwise false
- Throws:
CmsException
- if something goes wrong- See Also:
CmsObjectWrapper.deleteResource(String, CmsResource.CmsResourceDeleteMode)
,CmsObject.deleteResource(String, CmsResource.CmsResourceDeleteMode)
-
getLock
CmsLock getLock(CmsObject cms, CmsResource resource) throws CmsException
Returns the lock for the resource.First should be a check if the resource is handled by this resource wrapper.
It is possible that the path in the resource is a virtual path and so has to be translated into a valid path existing in the VFS to get the lock for the resource.
- Parameters:
cms
- the initialized CmsObjectresource
- the resource to check the lock for- Returns:
- the lock state of the resource or null if the action couldn't be handled by this resource wrapper
- Throws:
CmsException
- if something goes wrong- See Also:
CmsObjectWrapper.getLock(CmsResource)
,CmsObject.getLock(CmsResource)
-
isWrappedResource
boolean isWrappedResource(CmsObject cms, CmsResource res)
Is called to check if the given resource is handled by this wrapper.- Parameters:
cms
- the initialized CmsObjectres
- the resource to check- Returns:
- true if the resource will be handled by the wrapper otherwise false
- See Also:
CmsObjectWrapper.getResourcesInFolder(String, CmsResourceFilter)
-
lockResource
boolean lockResource(CmsObject cms, java.lang.String resourcename, boolean temporary) throws CmsException
Locks a resource.First should be a check if the resourcename is handled by this resource wrapper.
It is possible that the path in the resourcename is a virtual path and so has to be translated into a valid path existing in the VFS to lock the resource.
- Parameters:
cms
- the current users OpenCms contextresourcename
- the name of the resource to lock (full path)temporary
- true if the resource should only be locked temporarily- Returns:
- true if this request could be handled by this wrapper or false if not
- Throws:
CmsException
- if something goes wrong- See Also:
CmsObjectWrapper.lockResource(String)
,CmsObject.lockResource(String)
-
moveResource
boolean moveResource(CmsObject cms, java.lang.String source, java.lang.String destination) throws CmsException, CmsIllegalArgumentException
Moves a resource to the given destination.First should be a check if the source and/or the destination are handled by this resource wrapper.
It is possible that the path in the source or in the destination are virtual paths and so has to be translated into valid paths existing in the VFS to move the resource.
- Parameters:
cms
- the current cms contextsource
- the name of the resource to movedestination
- the destination resource name- Returns:
- true if the move action was handled by this resource wrapper otherwise false
- Throws:
CmsException
- if something goes wrongCmsIllegalArgumentException
- if thesource
argument is null or of length 0- See Also:
CmsObjectWrapper.moveResource(String, String)
,CmsObject.moveResource(String, String)
-
readFile
CmsFile readFile(CmsObject cms, java.lang.String resourcename, CmsResourceFilter filter) throws CmsException
Reads a file resource (including it's binary content) from the VFS, using the specified resource filter.First should be a check if the resourcename is handled by this resource wrapper.
It is possible that the path in the resourcename is a virtual path and so has to be translated into a valid path existing in the VFS to read the resource.
- Parameters:
cms
- the current users OpenCms contextresourcename
- the name of the resource to read (full path)filter
- the resource filter to use while reading- Returns:
- the file resource that was read or null if it could not be handled by this resource wrapper
- Throws:
CmsException
- if the file resource could not be read for any reason- See Also:
CmsObjectWrapper.readFile(String, CmsResourceFilter)
,CmsObject.readFile(String, CmsResourceFilter)
-
readResource
CmsResource readResource(CmsObject cms, java.lang.String resourcename, CmsResourceFilter filter) throws CmsException
Reads a resource from the VFS, using the specified resource filter.First should be a check if the resourcename is handled by this resource wrapper.
It is possible that the path in the resourcename is a virtual path and so has to be translated into a valid path existing in the VFS to read the resource.
- Parameters:
cms
- the current users OpenCms contextresourcename
- The name of the resource to read (full path)filter
- the resource filter to use while reading- Returns:
- the resource that was read or null if it could not be handled by this resource wrapper
- Throws:
CmsException
- if the resource could not be read for any reason- See Also:
CmsObjectWrapper.readResource(String, CmsResourceFilter)
,CmsObject.readResource(String, CmsResourceFilter)
-
restoreLink
java.lang.String restoreLink(CmsObject cms, java.lang.String uri)
Returns the link to a existing resource in the VFS for the uri.Turns the virtual path into a real path to a resource in the VFS.
- Parameters:
cms
- the initialized CmsObjecturi
- the (virtual) uri to be restored- Returns:
- the uri where to find the resource in the VFS or null if the wrapper is not responsible
- See Also:
rewriteLink(CmsObject, CmsResource)
,CmsObjectWrapper.restoreLink(String)
-
rewriteLink
java.lang.String rewriteLink(CmsObject cms, CmsResource res)
Returns the link how it is for the resource after using this resource wrapper.For example: in the VFS: "/sites/default/index.html" and this resource wrapper adds the extension "jsp" then link returned should be "/sites/default/index.html.jsp".
- Parameters:
cms
- the initialized CmsObjectres
- the resource where to rewrite the path- Returns:
- the rewritten path or null if the wrapper is not responsible
- See Also:
restoreLink(CmsObject, String)
,CmsObjectWrapper.rewriteLink(String)
-
unlockResource
boolean unlockResource(CmsObject cms, java.lang.String resourcename) throws CmsException
Unlocks a resource.First should be a check if the resourcename is handled by this resource wrapper.
It is possible that the path in the resourcename is a virtual path and so has to be translated into a valid path existing in the VFS to unlock the resource.
- Parameters:
cms
- the current users OpenCms contextresourcename
- the name of the resource to unlock (full path)- Returns:
- true if this request could be handled by this wrapper of false if not
- Throws:
CmsException
- if something goes wrong- See Also:
CmsObjectWrapper.unlockResource(String)
,CmsObject.unlockResource(String)
-
wrapResource
CmsResource wrapResource(CmsObject cms, CmsResource resource)
Changes the given resource based on the implementation of this wrapper.For example, some resource types like
CmsResourceTypeJsp
just get a.jsp
extension, while other types likeCmsResourceTypeXmlPage
are "exploded" into a folder / file structure.- Parameters:
cms
- the current users OpenCms contextresource
- the resource to wrap- Returns:
- a wrapped
CmsResource
object ornull
to not change the resource - See Also:
CmsObjectWrapper.getResourcesInFolder(String, CmsResourceFilter)
-
writeFile
CmsFile writeFile(CmsObject cms, CmsFile resource) throws CmsException
Writes a resource, including it's content.First should be a check if the resource is handled by this resource wrapper.
It is possible that the path in the resource is a virtual path and so has to be translated into a valid path existing in the VFS to write the resource.
- Parameters:
cms
- the current cms contextresource
- the resource to apply this operation to- Returns:
- the written resource or null if the action could not be handled by this resource wrapper
- Throws:
CmsException
- if something goes wrong- See Also:
CmsObjectWrapper.writeFile(CmsFile)
,CmsObject.writeFile(CmsFile)
-
-