public class CmsResourceTypeJsp extends A_CmsResourceTypeLinkParseable
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.
I_CmsResourceType.Formatter| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
FORMATTER_SETTING_MAX_WIDTH
Key for formatter setting container maximum width.
|
static java.lang.String |
FORMATTER_SETTING_MIN_WIDTH
Key for formatter setting container minimum width.
|
static java.lang.String |
FORMATTER_SETTING_TYPE
Key for formatter setting container type.
|
protected CmsJspLoader |
m_jspLoader
JSP Loader instance.
|
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_PATHADD_MAPPING_METHOD, ADD_RESOURCE_TYPE_METHOD, CONFIGURATION_PROPERTY_CREATE, CONFIGURATION_RESOURCE_TYPE_ID, CONFIGURATION_RESOURCE_TYPE_NAME, PROPERTY_ON_RESOURCE, PROPERTY_ON_STRUCTUREADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD| Constructor and Description |
|---|
CmsResourceTypeJsp() |
| Modifier and Type | Method and 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.
|
static int |
getContainerPageTemplateTypeId()
Returns the type id of the containerpage_template resource type.
|
static java.lang.String |
getContainerPageTemplateTypeName()
Returns the type name of the containerpage_template resource type.
|
CmsFormatterConfiguration |
getFormattersForResource(CmsObject cms,
CmsResource res)
Returns the formatter configuration for the given resource.
|
static java.util.List<java.lang.Integer> |
getJspResourceTypeIds()
Returns the registered JSP resource type id's.
|
static int |
getJSPTypeId()
Returns the type id of the (default)JSP resource type.
|
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 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.
|
static boolean |
isJsp(CmsResource resource)
Returns
true in case the given resource is a JSP. |
static boolean |
isJspTypeId(int typeId)
Returns
true in case the given resource type id is a JSP type. |
void |
moveResource(CmsObject cms,
CmsSecurityManager securityManager,
CmsResource resource,
java.lang.String destination)
Moves a resource to the given destination.
|
java.util.List<CmsLink> |
parseLinks(CmsObject cms,
CmsFile file)
Returns a list of all links from the specified file.
|
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.
|
isDirectEditableaddConfigurationParameter, addCopyResource, addDefaultProperty, addMappingType, changeLock, chflags, chtype, copyResource, copyResourceToProject, createRelations, createResource, createSibling, equals, getAdjustLinksFolder, getCachePropertyDefault, getClassName, getConfiguration, getConfiguredCopyResources, getConfiguredDefaultProperties, getConfiguredMappings, 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, writePropertyObjectspublic static final java.lang.String FORMATTER_SETTING_MAX_WIDTH
public static final java.lang.String FORMATTER_SETTING_MIN_WIDTH
public static final java.lang.String FORMATTER_SETTING_TYPE
protected transient CmsJspLoader m_jspLoader
public CmsResourceTypeJsp()
public static int getContainerPageTemplateTypeId()
public static java.lang.String getContainerPageTemplateTypeName()
public static java.util.List<java.lang.Integer> getJspResourceTypeIds()
public static int getJSPTypeId()
public static java.lang.String getStaticTypeName()
public static boolean isJsp(CmsResource resource)
true in 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.
resource - the resource to checktrue in case the given resource is a JSPpublic static boolean isJspTypeId(int typeId)
true in 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.
typeId - the resource type id to checktrue in case the given resource type id is a JSP typepublic void chtype(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type) throws CmsException
I_CmsResourceTypeOpenCms 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.
chtype in interface I_CmsResourceTypechtype in class A_CmsResourceTypecms - the initialized CmsObjectsecurityManager - the initialized OpenCms security managerresource - the resource to change the type fortype - the new resource type for this resourceCmsException - if something goes wrongA_CmsResourceType.chtype(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, int)public void deleteResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceDeleteMode siblingMode) throws CmsException
I_CmsResourceType
The siblingMode parameter controls how to handle siblings
during the delete operation.
Possible values for this parameter are:
deleteResource in interface I_CmsResourceTypedeleteResource in class A_CmsResourceTypecms - the initialized CmsObjectsecurityManager - the initialized OpenCms security managerresource - the resource to deletesiblingMode - indicates how to handle siblings of the deleted resourceCmsException - if something goes wrongA_CmsResourceType.deleteResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, org.opencms.file.CmsResource.CmsResourceDeleteMode)public CmsFormatterConfiguration getFormattersForResource(CmsObject cms, CmsResource res)
I_CmsResourceTypegetFormattersForResource in interface I_CmsResourceTypegetFormattersForResource in class A_CmsResourceTypecms - the current cms contextres - the resource to get the formatter configuration forA_CmsResourceType.getFormattersForResource(org.opencms.file.CmsObject, org.opencms.file.CmsResource)public int getLoaderId()
I_CmsResourceTypegetLoaderId in interface I_CmsResourceTypegetLoaderId in class A_CmsResourceTypeI_CmsResourceType.getLoaderId()public void initConfiguration(java.lang.String name, java.lang.String id, java.lang.String className) throws CmsConfigurationException
I_CmsResourceTypePlease 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 implementing I_CmsResourceType,
then I_CmsResourceType is used for the resource type instance.CmsResourceTypeUnknown
initConfiguration in interface I_CmsResourceTypeinitConfiguration in class A_CmsResourceTypename - the resource type nameid - the resource type idclassName - the class name of the resource type (read from the XML configuration)CmsConfigurationException - if the configuration is invalidA_CmsResourceType.initConfiguration(java.lang.String, java.lang.String, String)public void initialize(CmsObject cms)
I_CmsResourceTypeThis method will be called once during the OpenCms initialization processs. The VFS will already be available at the time the method is called.
initialize in interface I_CmsResourceTypeinitialize in class A_CmsResourceTypecms - a OpenCms context initialized with "Admin" permissionsA_CmsResourceType.initialize(org.opencms.file.CmsObject)public void moveResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, java.lang.String destination) throws CmsException, CmsIllegalArgumentException
I_CmsResourceTypeA 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.
moveResource in interface I_CmsResourceTypemoveResource in class A_CmsResourceTypecms - the current cms contextsecurityManager - the initialized OpenCms security managerresource - the resource to movedestination - the destination resource nameCmsException - if something goes wrongCmsIllegalArgumentException - if the source argument is null or of length 0A_CmsResourceType.moveResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, java.lang.String)public java.util.List<CmsLink> parseLinks(CmsObject cms, CmsFile file)
I_CmsLinkParseable
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.).
cms - the current user's contextfile - the file to be parsedCmsLink objects with the URIs of all linked resourcesI_CmsLinkParseable.parseLinks(org.opencms.file.CmsObject, org.opencms.file.CmsFile)public void replaceResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int type, byte[] content, java.util.List<CmsProperty> properties) throws CmsException
I_CmsResourceTypereplaceResource in interface I_CmsResourceTypereplaceResource in class A_CmsResourceTypecms - 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 resourceCmsException - if something goes wrongA_CmsResourceType.replaceResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, int, byte[], java.util.List)public void restoreResource(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, int version) throws CmsException
I_CmsResourceTyperestoreResource in interface I_CmsResourceTyperestoreResource in class A_CmsResourceTypecms - the current cms contextsecurityManager - the initialized OpenCms security managerresource - the resource to restore from the archiveversion - the version number of the resource to restoreCmsException - if something goes wrongA_CmsResourceType.restoreResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, int)public void setDateExpired(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateExpired, boolean recursive) throws CmsException
I_CmsResourceTypesetDateExpired in interface I_CmsResourceTypesetDateExpired in class A_CmsResourceTypecms - 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 folderCmsException - if something goes wrongA_CmsResourceType.setDateExpired(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, long, boolean)public void setDateLastModified(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateLastModified, boolean recursive) throws CmsException
I_CmsResourceTypesetDateLastModified in interface I_CmsResourceTypesetDateLastModified in class A_CmsResourceTypecms - 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 folderCmsException - if something goes wrongA_CmsResourceType.setDateLastModified(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, long, boolean)public void setDateReleased(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, long dateReleased, boolean recursive) throws CmsException
I_CmsResourceTypesetDateReleased in interface I_CmsResourceTypesetDateReleased in class A_CmsResourceTypecms - 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 folderCmsException - if something goes wrongA_CmsResourceType.setDateReleased(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, long, boolean)public void undoChanges(CmsObject cms, CmsSecurityManager securityManager, CmsResource resource, CmsResource.CmsResourceUndoMode mode) throws CmsException
I_CmsResourceTypeundoChanges in interface I_CmsResourceTypeundoChanges in class A_CmsResourceTypecms - the current cms contextsecurityManager - the initialized OpenCms security managerresource - the resource to undo the changes formode - the undo mode, one of the CmsResource.CmsResourceUndoMode#UNDO_XXX constantsCmsException - if something goes wrongA_CmsResourceType.undoChanges(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsResource, org.opencms.file.CmsResource.CmsResourceUndoMode)public CmsFile writeFile(CmsObject cms, CmsSecurityManager securityManager, CmsFile resource) throws CmsException
I_CmsResourceType
Applies only to resources of type
that have a binary content attached.CmsFile
writeFile in interface I_CmsResourceTypewriteFile in class A_CmsResourceTypecms - the current cms contextsecurityManager - the initialized OpenCms security managerresource - the resource to apply this operation toCmsException - if something goes wrongA_CmsResourceType.writeFile(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsFile)protected java.util.Set<java.lang.String> getReferencingStrongLinks(CmsObject cms, CmsResource resource) throws CmsException
cms - the current cms contextresource - the resource to checkCmsException - if something goes wrongprotected void removeReferencingFromCache(java.util.Set<java.lang.String> references)
references - the references to remove