Class CmsResourceTypeJsp
- All Implemented Interfaces:
Serializable,I_CmsConfigurationParameterHandler,I_CmsResourceType,I_CmsLinkParseable
Ensures that some required file properties are attached to new JSPs.
The value for the encoding properties of a new JSP usually is the
system default encoding, but this can be overwritten by
a configuration parameters set in opencms-vfs.xml.
- Since:
- 6.0.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.opencms.file.types.I_CmsResourceType
I_CmsResourceType.Formatter -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringKey for formatter setting container maximum width.static final StringKey for formatter setting container minimum width.static final StringKey for formatter setting container type.protected CmsJspLoaderJSP 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_PATHFields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHODFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidchtype(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type) Changes the resource type of a resource.voiddeleteResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceDeleteMode siblingMode) Deletes a resource given its name.static intReturns the type id of the containerpage_template resource type.static StringReturns the type name of the containerpage_template resource type.getFormattersForResource(CmsObject cms, CmsResource res) Returns the formatter configuration for the given resource.Returns the registered JSP resource type id's.static intReturns the type id of the (default)JSP resource type.intReturns the loader type id of this resource type.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 StringReturns the static type name of this (default) resource type.voidinitConfiguration(String name, String id, 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.voidinitialize(CmsObject cms) Initializes this resource type.static booleanisJsp(CmsResource resource) Returnstruein case the given resource is a JSP.static booleanisJspTypeId(int typeId) Returnstruein case the given resource type id is a JSP type.voidmoveResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, String destination) Moves a resource to the given destination.parseLinks(CmsObject cms, CmsFile file) Returns a list of all links from the specified file.protected voidremoveReferencingFromCache(Set<String> references) Removes the referencing resources from the cache.voidreplaceResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type, byte[] content, List<CmsProperty> properties) Replaces the content, type and properties of a resource.voidrestoreResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int version) Restores a resource in the current project with a version from the historical archive.voidsetDateExpired(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateExpired, boolean recursive) Changes the "expire" date of a resource.voidsetDateLastModified(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateLastModified, boolean recursive) Changes the "last modified" date of a resource.voidsetDateReleased(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateReleased, boolean recursive) Changes the "release" date of a resource.voidundoChanges(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.writeFile(CmsObject cms, CmsSecurityManager securityManager, CmsFile resource) Writes a resource, including it's content.Methods inherited from class org.opencms.file.types.A_CmsResourceTypeLinkParseable
isDirectEditableMethods inherited from class org.opencms.file.types.A_CmsResourceType
addConfigurationParameter, addCopyResource, addDefaultProperty, addMappingType, changeLock, chflags, chtype, copyResource, copyResourceToProject, createRelations, createResource, createSibling, equals, getAdjustLinksFolder, getCachePropertyDefault, getClassName, getConfiguration, getConfiguredCopyResources, getConfiguredDefaultProperties, getConfiguredMappings, getCopyResources, getGalleryPreviewProvider, getGalleryTypes, getMacroResolver, getModuleName, getResourceType, getTypeId, getTypeName, hashCode, importResource, initConfiguration, isAdditionalModuleResourceType, isFolder, isIdentical, lockResource, processCopyResources, processDefaultProperties, removeResourceFromProject, replaceResource, setAdditionalModuleResourceType, setAdjustLinksFolder, setModuleName, toString, undelete, unlockResource, updateRelationForUndo, writePropertyObject, writePropertyObjects
-
Field Details
-
FORMATTER_SETTING_MAX_WIDTH
Key for formatter setting container maximum width.- See Also:
-
FORMATTER_SETTING_MIN_WIDTH
Key for formatter setting container minimum width.- See Also:
-
FORMATTER_SETTING_TYPE
Key for formatter setting container type.- See Also:
-
m_jspLoader
JSP Loader instance.
-
-
Constructor Details
-
CmsResourceTypeJsp
public CmsResourceTypeJsp()
-
-
Method Details
-
getContainerPageTemplateTypeId
Returns the type id of the containerpage_template resource type.- Returns:
- the type id of the containerpage_template resource type
-
getContainerPageTemplateTypeName
Returns the type name of the containerpage_template resource type.- Returns:
- the type name of the containerpage_template resource type
-
getJspResourceTypeIds
Returns the registered JSP resource type id's.- Returns:
- the resource type id's
-
getJSPTypeId
Returns the type id of the (default)JSP resource type.- Returns:
- the type id of this (default)JSP resource type
-
getStaticTypeName
Returns the static type name of this (default) resource type.- Returns:
- the static type name of this (default) resource type
-
isJsp
Returnstruein case the given resource is a JSP.Internally this checks if the given resource type has an id that is registered as a JSP resource type.
- Parameters:
resource- the resource to check- Returns:
truein case the given resource is a JSP- Since:
- 8.0.0
-
isJspTypeId
Returnstruein case the given resource type id is a JSP type.Internally this checks if the given resource type id is registered as a JSP resource type.
- Parameters:
typeId- the resource type id to check- Returns:
truein case the given resource type id is a JSP type- Since:
- 8.0.0
-
chtype
public void chtype(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type) throws CmsException Description copied from interface:I_CmsResourceTypeChanges 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:
chtypein interfaceI_CmsResourceType- Overrides:
chtypein 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:
-
deleteResource
public void deleteResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceDeleteMode siblingMode) throws CmsException Description copied from interface:I_CmsResourceTypeDeletes a resource given its name.The
siblingModeparameter controls how to handle siblings during the delete operation.
Possible values for this parameter are:
- Specified by:
deleteResourcein interfaceI_CmsResourceType- Overrides:
deleteResourcein 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:
-
getFormattersForResource
Description copied from interface:I_CmsResourceTypeReturns the formatter configuration for the given resource.- Specified by:
getFormattersForResourcein interfaceI_CmsResourceType- Overrides:
getFormattersForResourcein classA_CmsResourceType- Parameters:
cms- the current cms contextres- the resource to get the formatter configuration for- Returns:
- the formatter configuration for the given resource
- See Also:
-
getLoaderId
Description copied from interface:I_CmsResourceTypeReturns the loader type id of this resource type.- Specified by:
getLoaderIdin interfaceI_CmsResourceType- Specified by:
getLoaderIdin classA_CmsResourceType- Returns:
- the loader type id of this resource type
- See Also:
-
initConfiguration
public void initConfiguration(String name, String id, String className) throws CmsConfigurationException Description copied from interface:I_CmsResourceTypeSpecial 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_CmsResourceTypeis used for the resource type instance.CmsResourceTypeUnknown- Specified by:
initConfigurationin interfaceI_CmsResourceType- Overrides:
initConfigurationin 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:
-
initialize
Description copied from interface:I_CmsResourceTypeInitializes 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:
initializein interfaceI_CmsResourceType- Overrides:
initializein classA_CmsResourceType- Parameters:
cms- a OpenCms context initialized with "Admin" permissions- See Also:
-
moveResource
public void moveResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, String destination) throws CmsException, CmsIllegalArgumentException Description copied from interface:I_CmsResourceTypeMoves 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:
moveResourcein interfaceI_CmsResourceType- Overrides:
moveResourcein 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 thesourceargument is null or of length 0- See Also:
-
parseLinks
Description copied from interface:I_CmsLinkParseableReturns a list of all links from the specified file.Implementations of this method must return an empty list, or better
Collections.EMPTY_LIST, if no link is found at all.Implementations of this method should return the list of links including internal (OpenCms VFS) and external links (http, https, mailto, ftp, etc.).
- Parameters:
cms- the current user's contextfile- the file to be parsed- Returns:
- a list of
CmsLinkobjects with the URIs of all linked resources - See Also:
-
replaceResource
public void replaceResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type, byte[] content, List<CmsProperty> properties) throws CmsException Description copied from interface:I_CmsResourceTypeReplaces the content, type and properties of a resource.- Specified by:
replaceResourcein interfaceI_CmsResourceType- Overrides:
replaceResourcein 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:
-
restoreResource
public void restoreResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int version) throws CmsException Description copied from interface:I_CmsResourceTypeRestores a resource in the current project with a version from the historical archive.- Specified by:
restoreResourcein interfaceI_CmsResourceType- Overrides:
restoreResourcein 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:
-
setDateExpired
public void setDateExpired(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateExpired, boolean recursive) throws CmsException Description copied from interface:I_CmsResourceTypeChanges the "expire" date of a resource.- Specified by:
setDateExpiredin interfaceI_CmsResourceType- Overrides:
setDateExpiredin 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:
-
setDateLastModified
public void setDateLastModified(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateLastModified, boolean recursive) throws CmsException Description copied from interface:I_CmsResourceTypeChanges the "last modified" date of a resource.- Specified by:
setDateLastModifiedin interfaceI_CmsResourceType- Overrides:
setDateLastModifiedin 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:
-
setDateReleased
public void setDateReleased(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateReleased, boolean recursive) throws CmsException Description copied from interface:I_CmsResourceTypeChanges the "release" date of a resource.- Specified by:
setDateReleasedin interfaceI_CmsResourceType- Overrides:
setDateReleasedin 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:
-
undoChanges
public void undoChanges(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceUndoMode mode) throws CmsException Description copied from interface:I_CmsResourceTypeUndos all changes in the resource by restoring the version from the online project to the current offline project.- Specified by:
undoChangesin interfaceI_CmsResourceType- Overrides:
undoChangesin 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 theconstantsCmsResource.CmsResourceUndoMode#UNDO_XXX- Throws:
CmsException- if something goes wrong- See Also:
-
writeFile
public CmsFile writeFile(CmsObject cms, CmsSecurityManager securityManager, CmsFile resource) throws CmsException Description copied from interface:I_CmsResourceTypeWrites a resource, including it's content.Applies only to resources of type
that have a binary content attached.CmsFile- Specified by:
writeFilein interfaceI_CmsResourceType- Overrides:
writeFilein 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:
-
getReferencingStrongLinks
protected Set<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
Removes the referencing resources from the cache.- Parameters:
references- the references to remove
-