Class CmsResourceTypePlain
- java.lang.Object
-
- org.opencms.file.types.A_CmsResourceType
-
- org.opencms.file.types.CmsResourceTypePlain
-
- All Implemented Interfaces:
java.io.Serializable
,I_CmsConfigurationParameterHandler
,I_CmsResourceType
public class CmsResourceTypePlain extends A_CmsResourceType
Resource type descriptor for the type "plain".- Since:
- 6.0.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.opencms.file.types.I_CmsResourceType
I_CmsResourceType.Formatter
-
-
Field Summary
Fields Modifier and Type Field Description protected CmsJspLoader
m_jspLoader
JSP Loader instance.-
Fields inherited from class org.opencms.file.types.A_CmsResourceType
CONFIGURATION_GALLERY_JAVASCRIPT_PATH, CONFIGURATION_GALLERY_PREVIEW_PROVIDER, CONFIGURATION_GALLERY_TYPE_NAMES, CONFIGURATION_INTERNAL, DEFAULT_GALLERY_PREVIEW_PROVIDER, m_addititionalModuleResourceType, m_className, m_configuration, m_copyResources, m_defaultProperties, m_frozen, m_galleryPreviewProvider, m_mappings, m_moduleName, m_typeId, m_typeName, MACRO_RESOURCE_FOLDER_PATH, MACRO_RESOURCE_FOLDER_PATH_TOUCH, MACRO_RESOURCE_NAME, MACRO_RESOURCE_PARENT_PATH, MACRO_RESOURCE_ROOT_PATH, MACRO_RESOURCE_SITE_PATH
-
Fields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
-
Fields inherited from interface org.opencms.file.types.I_CmsResourceType
ADD_MAPPING_METHOD, ADD_RESOURCE_TYPE_METHOD, CONFIGURATION_PROPERTY_CREATE, CONFIGURATION_RESOURCE_TYPE_ID, CONFIGURATION_RESOURCE_TYPE_NAME, PROPERTY_ON_RESOURCE, PROPERTY_ON_STRUCTURE
-
-
Constructor Summary
Constructors Constructor Description CmsResourceTypePlain()
Default constructor, used to initialize member variables.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
chtype(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type)
Changes the resource type of a resource.void
deleteResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceDeleteMode siblingMode)
Deletes a resource given its name.java.lang.String
getCachePropertyDefault()
A plain resource might appear as a sub-element in a JSP, therefore it needs cache properties.int
getLoaderId()
Returns the loader type id of this resource type.protected java.util.Set<java.lang.String>
getReferencingStrongLinks(CmsObject cms, CmsResource resource)
Returns a set of root paths of files that are including the given resource using the 'link.strong' macro.static int
getStaticTypeId()
Returns the static type id of this (default) resource type.static java.lang.String
getStaticTypeName()
Returns the static type name of this (default) resource type.void
initConfiguration(java.lang.String name, java.lang.String id, java.lang.String className)
Special version of the configuration initialization used with resource types to set resource type, id and class name, required for the XML configuration.void
initialize(CmsObject cms)
Initializes this resource type.void
moveResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, java.lang.String destination)
Moves a resource to the given destination.protected void
removeReferencingFromCache(java.util.Set<java.lang.String> references)
Removes the referencing resources from the cache.void
replaceResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type, byte[] content, java.util.List<CmsProperty> properties)
Replaces the content, type and properties of a resource.void
restoreResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int version)
Restores a resource in the current project with a version from the historical archive.void
setDateExpired(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateExpired, boolean recursive)
Changes the "expire" date of a resource.void
setDateLastModified(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateLastModified, boolean recursive)
Changes the "last modified" date of a resource.void
setDateReleased(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateReleased, boolean recursive)
Changes the "release" date of a resource.void
undoChanges(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceUndoMode mode)
Undos all changes in the resource by restoring the version from the online project to the current offline project.CmsFile
writeFile(CmsObject cms, CmsSecurityManager securityManager, CmsFile resource)
Writes a resource, including it's content.-
Methods inherited from class org.opencms.file.types.A_CmsResourceType
addConfigurationParameter, addCopyResource, addDefaultProperty, addMappingType, changeLock, chflags, chtype, copyResource, copyResourceToProject, createRelations, createResource, createSibling, equals, getAdjustLinksFolder, getClassName, getConfiguration, getConfiguredCopyResources, getConfiguredDefaultProperties, getConfiguredMappings, getCopyResources, getFormattersForResource, getGalleryPreviewProvider, getGalleryTypes, getMacroResolver, getModuleName, getResourceType, getTypeId, getTypeName, hashCode, importResource, initConfiguration, isAdditionalModuleResourceType, isDirectEditable, isFolder, isIdentical, lockResource, processCopyResources, processDefaultProperties, removeResourceFromProject, replaceResource, setAdditionalModuleResourceType, setAdjustLinksFolder, setModuleName, toString, undelete, unlockResource, updateRelationForUndo, writePropertyObject, writePropertyObjects
-
-
-
-
Field Detail
-
m_jspLoader
protected CmsJspLoader m_jspLoader
JSP Loader instance.
-
-
Constructor Detail
-
CmsResourceTypePlain
public CmsResourceTypePlain()
Default constructor, used to initialize member variables.
-
-
Method Detail
-
getStaticTypeId
public static int getStaticTypeId()
Returns the static type id of this (default) resource type.- Returns:
- the static type id of this (default) resource type
-
getStaticTypeName
public static java.lang.String getStaticTypeName()
Returns the static type name of this (default) resource type.- Returns:
- the static type name of this (default) resource type
-
chtype
public void chtype(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type) throws CmsException
Description copied from interface:I_CmsResourceType
Changes the resource type of a resource.OpenCms handles resources according to the resource type, not the file suffix. This is e.g. why a JSP in OpenCms can have the suffix ".html" instead of ".jsp" only. Changing the resource type makes sense e.g. if you want to make a plain text file a JSP resource, or a binary file an image, etc.
- Specified by:
chtype
in interfaceI_CmsResourceType
- Overrides:
chtype
in classA_CmsResourceType
- Parameters:
cms
- the initialized CmsObjectsecurityManager
- the initialized OpenCms security managerresource
- the resource to change the type fortype
- the new resource type for this resource- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.chtype(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, int)
-
deleteResource
public void deleteResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceDeleteMode siblingMode) throws CmsException
Description copied from interface:I_CmsResourceType
Deletes a resource given its name.The
siblingMode
parameter controls how to handle siblings during the delete operation.
Possible values for this parameter are:
- Specified by:
deleteResource
in interfaceI_CmsResourceType
- Overrides:
deleteResource
in classA_CmsResourceType
- Parameters:
cms
- the initialized CmsObjectsecurityManager
- the initialized OpenCms security managerresource
- the resource to deletesiblingMode
- indicates how to handle siblings of the deleted resource- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.deleteResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, org.opencms.file.CmsResource.CmsResourceDeleteMode)
-
getCachePropertyDefault
public java.lang.String getCachePropertyDefault()
A plain resource might appear as a sub-element in a JSP, therefore it needs cache properties.- Specified by:
getCachePropertyDefault
in interfaceI_CmsResourceType
- Overrides:
getCachePropertyDefault
in classA_CmsResourceType
- Returns:
- the default for the
cache
property setting of this resource type - See Also:
I_CmsResourceType.getCachePropertyDefault()
-
getLoaderId
public int getLoaderId()
Description copied from interface:I_CmsResourceType
Returns the loader type id of this resource type.- Specified by:
getLoaderId
in interfaceI_CmsResourceType
- Specified by:
getLoaderId
in classA_CmsResourceType
- Returns:
- the loader type id of this resource type
- See Also:
I_CmsResourceType.getLoaderId()
-
initConfiguration
public void initConfiguration(java.lang.String name, java.lang.String id, java.lang.String className) throws CmsConfigurationException
Description copied from interface:I_CmsResourceType
Special version of the configuration initialization used with resource types to set resource type, id and class name, required for the XML configuration.Please note: Many resource types defined in the core have in fact a fixed resource type and a fixed id. Configurable name and id is used only for certain types.
The provided named class must implement this interface (
). Usually the provided class name should be the class name of the resource type instance, but this may be different in special cases or configuration errors. For example, if a module is imported that contains it's own resource type class files, the included class file are usually not be available until the server is restarted. If the named class given in the XML configuration (or module manifest.xml) is not available, or not implementingI_CmsResourceType
, thenI_CmsResourceType
is used for the resource type instance.CmsResourceTypeUnknown
- Specified by:
initConfiguration
in interfaceI_CmsResourceType
- Overrides:
initConfiguration
in classA_CmsResourceType
- Parameters:
name
- the resource type nameid
- the resource type idclassName
- the class name of the resource type (read from the XML configuration)- Throws:
CmsConfigurationException
- if the configuration is invalid- See Also:
A_CmsResourceType.initConfiguration(java.lang.String, java.lang.String, String)
-
initialize
public void initialize(CmsObject cms)
Description copied from interface:I_CmsResourceType
Initializes this resource type.This method will be called once during the OpenCms initialization processs. The VFS will already be available at the time the method is called.
- Specified by:
initialize
in interfaceI_CmsResourceType
- Overrides:
initialize
in classA_CmsResourceType
- Parameters:
cms
- a OpenCms context initialized with "Admin" permissions- See Also:
A_CmsResourceType.initialize(org.opencms.file.CmsObject)
-
moveResource
public void moveResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, java.lang.String destination) throws CmsException, CmsIllegalArgumentException
Description copied from interface:I_CmsResourceType
Moves a resource to the given destination.A move operation in OpenCms is always a copy (as sibling) followed by a delete, this is a result of the online/offline structure of the OpenCms VFS. This way you can see the deleted files/folders in the offline project, and you will be unable to undelete them.
- Specified by:
moveResource
in interfaceI_CmsResourceType
- Overrides:
moveResource
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the resource to movedestination
- the destination resource name- Throws:
CmsException
- if something goes wrongCmsIllegalArgumentException
- if thesource
argument is null or of length 0- See Also:
A_CmsResourceType.moveResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, java.lang.String)
-
replaceResource
public void replaceResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type, byte[] content, java.util.List<CmsProperty> properties) throws CmsException
Description copied from interface:I_CmsResourceType
Replaces the content, type and properties of a resource.- Specified by:
replaceResource
in interfaceI_CmsResourceType
- Overrides:
replaceResource
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the name of the resource to replacetype
- the new type of the resourcecontent
- the new content of the resourceproperties
- the new properties of the resource- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.replaceResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, int, byte[], java.util.List)
-
restoreResource
public void restoreResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int version) throws CmsException
Description copied from interface:I_CmsResourceType
Restores a resource in the current project with a version from the historical archive.- Specified by:
restoreResource
in interfaceI_CmsResourceType
- Overrides:
restoreResource
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the resource to restore from the archiveversion
- the version number of the resource to restore- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.restoreResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, int)
-
setDateExpired
public void setDateExpired(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateExpired, boolean recursive) throws CmsException
Description copied from interface:I_CmsResourceType
Changes the "expire" date of a resource.- Specified by:
setDateExpired
in interfaceI_CmsResourceType
- Overrides:
setDateExpired
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the resource to touchdateExpired
- the new expire date of the changed resourcerecursive
- if this operation is to be applied recursively to all resources in a folder- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.setDateExpired(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, long, boolean)
-
setDateLastModified
public void setDateLastModified(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateLastModified, boolean recursive) throws CmsException
Description copied from interface:I_CmsResourceType
Changes the "last modified" date of a resource.- Specified by:
setDateLastModified
in interfaceI_CmsResourceType
- Overrides:
setDateLastModified
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the resource to touchdateLastModified
- timestamp the new timestamp of the changed resourcerecursive
- if this operation is to be applied recursively to all resources in a folder- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.setDateLastModified(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, long, boolean)
-
setDateReleased
public void setDateReleased(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateReleased, boolean recursive) throws CmsException
Description copied from interface:I_CmsResourceType
Changes the "release" date of a resource.- Specified by:
setDateReleased
in interfaceI_CmsResourceType
- Overrides:
setDateReleased
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the resource to touchdateReleased
- the new release date of the changed resourcerecursive
- if this operation is to be applied recursively to all resources in a folder- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.setDateReleased(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, long, boolean)
-
undoChanges
public void undoChanges(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceUndoMode mode) throws CmsException
Description copied from interface:I_CmsResourceType
Undos all changes in the resource by restoring the version from the online project to the current offline project.- Specified by:
undoChanges
in interfaceI_CmsResourceType
- Overrides:
undoChanges
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the resource to undo the changes formode
- the undo mode, one of the
constantsCmsResource.CmsResourceUndoMode
#UNDO_XXX- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.undoChanges(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, org.opencms.file.CmsResource.CmsResourceUndoMode)
-
writeFile
public CmsFile writeFile(CmsObject cms, CmsSecurityManager securityManager, CmsFile resource) throws CmsException
Description copied from interface:I_CmsResourceType
Writes a resource, including it's content.Applies only to resources of type
that have a binary content attached.CmsFile
- Specified by:
writeFile
in interfaceI_CmsResourceType
- Overrides:
writeFile
in classA_CmsResourceType
- Parameters:
cms
- the current cms contextsecurityManager
- the initialized OpenCms security managerresource
- the resource to apply this operation to- Returns:
- the written resource
- Throws:
CmsException
- if something goes wrong- See Also:
A_CmsResourceType.writeFile(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsFile)
-
getReferencingStrongLinks
protected java.util.Set<java.lang.String> getReferencingStrongLinks(CmsObject cms, CmsResource resource) throws CmsException
Returns a set of root paths of files that are including the given resource using the 'link.strong' macro.- Parameters:
cms
- the current cms contextresource
- the resource to check- Returns:
- the set of referencing paths
- Throws:
CmsException
- if something goes wrong
-
removeReferencingFromCache
protected void removeReferencingFromCache(java.util.Set<java.lang.String> references)
Removes the referencing resources from the cache.- Parameters:
references
- the references to remove
-
-