org.opencms.file.types
Class CmsResourceTypeXmlContainerPage

java.lang.Object
  extended by org.opencms.file.types.A_CmsResourceType
      extended by org.opencms.file.types.A_CmsResourceTypeLinkParseable
          extended by org.opencms.file.types.CmsResourceTypeXmlContent
              extended by org.opencms.file.types.CmsResourceTypeXmlContainerPage
All Implemented Interfaces:
I_CmsConfigurationParameterHandler, I_CmsResourceType, I_CmsLinkParseable

public class CmsResourceTypeXmlContainerPage
extends CmsResourceTypeXmlContent

Resource type descriptor for the type "containerpage".

It is just a xml content with a fixed schema.

Since:
7.6

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.opencms.file.types.I_CmsResourceType
I_CmsResourceType.Formatter
 
Field Summary
static java.lang.String CONFIGURATION_TYPE_NAME
          The configuration resource type name.
static java.lang.String GROUP_CONTAINER_TYPE_NAME
          The group container resource type name.
static java.lang.String INHERIT_CONTAINER_CONFIG_TYPE_NAME
          The inherit configuration resource type name.
static java.lang.String INHERIT_CONTAINER_TYPE_NAME
          The resource type name for inherited container references.
 
Fields inherited from class org.opencms.file.types.CmsResourceTypeXmlContent
CONFIGURATION_SCHEMA
 
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.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
 
Fields inherited from interface org.opencms.configuration.I_CmsConfigurationParameterHandler
ADD_PARAMETER_METHOD, INIT_CONFIGURATION_METHOD
 
Constructor Summary
CmsResourceTypeXmlContainerPage()
          Default constructor that sets the fixed schema for container pages.
 
Method Summary
 CmsResource createResource(CmsObject cms, CmsSecurityManager securityManager, java.lang.String resourcename, byte[] content, java.util.List<CmsProperty> properties)
          Creates a new resource of the given resource type with the provided content and properties.
static int getContainerPageTypeId()
          Returns the container-page type id.
static int getContainerPageTypeIdSafely()
          Returns the container-page type id, but returns -1 instead of throwing an exception when an error happens.
 int getLoaderId()
          Returns the loader type id of this 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.
static boolean isContainerPage(CmsResource resource)
          Returns true in case the given resource is a container page.
 java.util.List<CmsLink> parseLinks(CmsObject cms, CmsFile file)
          Returns a list of all links from the specified file.
 CmsFile writeFile(CmsObject cms, CmsSecurityManager securityManager, CmsFile resource)
          Writes a resource, including it's content.
 
Methods inherited from class org.opencms.file.types.CmsResourceTypeXmlContent
addConfigurationParameter, getCachePropertyDefault, getConfiguration, getFormattersForResource, getGalleryPreviewProvider, getLocaleForNewContent, getSchema, getXsdLink, initialize, isXmlContent
 
Methods inherited from class org.opencms.file.types.A_CmsResourceTypeLinkParseable
isDirectEditable
 
Methods inherited from class org.opencms.file.types.A_CmsResourceType
addCopyResource, addDefaultProperty, addMappingType, changeLock, chflags, chtype, copyResource, copyResourceToProject, createRelations, createSibling, deleteResource, equals, getAdjustLinksFolder, getClassName, getConfiguredCopyResources, getConfiguredDefaultProperties, getConfiguredMappings, getGalleryTypes, getMacroResolver, getModuleName, getResourceType, getTypeId, getTypeName, hashCode, importResource, initConfiguration, isAdditionalModuleResourceType, isFolder, isIdentical, lockResource, moveResource, processCopyResources, processDefaultProperties, removeResourceFromProject, replaceResource, restoreResource, setAdditionalModuleResourceType, setAdjustLinksFolder, setDateExpired, setDateLastModified, setDateReleased, setModuleName, toString, undelete, undoChanges, unlockResource, updateRelationForUndo, writePropertyObject, writePropertyObjects
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

CONFIGURATION_TYPE_NAME

public static final java.lang.String CONFIGURATION_TYPE_NAME
The configuration resource type name.

See Also:
Constant Field Values

GROUP_CONTAINER_TYPE_NAME

public static final java.lang.String GROUP_CONTAINER_TYPE_NAME
The group container resource type name.

See Also:
Constant Field Values

INHERIT_CONTAINER_CONFIG_TYPE_NAME

public static final java.lang.String INHERIT_CONTAINER_CONFIG_TYPE_NAME
The inherit configuration resource type name.

See Also:
Constant Field Values

INHERIT_CONTAINER_TYPE_NAME

public static final java.lang.String INHERIT_CONTAINER_TYPE_NAME
The resource type name for inherited container references.

See Also:
Constant Field Values
Constructor Detail

CmsResourceTypeXmlContainerPage

public CmsResourceTypeXmlContainerPage()
Default constructor that sets the fixed schema for container pages.

Method Detail

getContainerPageTypeId

public static int getContainerPageTypeId()
                                  throws CmsLoaderException
Returns the container-page type id.

Returns:
the container-page type id
Throws:
CmsLoaderException - if the type is not configured

getContainerPageTypeIdSafely

public static int getContainerPageTypeIdSafely()
Returns the container-page type id, but returns -1 instead of throwing an exception when an error happens.

Returns:
the container-page type id

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

isContainerPage

public static boolean isContainerPage(CmsResource resource)
Returns true in case the given resource is a container page.

Internally this checks if the type id for the given resource is identical type id of the container page.

Parameters:
resource - the resource to check
Returns:
true in case the given resource is a container page

createResource

public CmsResource createResource(CmsObject cms,
                                  CmsSecurityManager securityManager,
                                  java.lang.String resourcename,
                                  byte[] content,
                                  java.util.List<CmsProperty> properties)
                           throws CmsException
Description copied from interface: I_CmsResourceType
Creates a new resource of the given resource type with the provided content and properties.

Specified by:
createResource in interface I_CmsResourceType
Overrides:
createResource in class CmsResourceTypeXmlContent
Parameters:
cms - the initialized CmsObject
securityManager - the initialized OpenCms security manager
resourcename - the name of the resource to create (full path)
content - the content for the new resource
properties - the properties for the new resource
Returns:
the created resource
Throws:
CmsException - if something goes wrong
See Also:
CmsResourceTypeXmlContent.createResource(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, java.lang.String, byte[], java.util.List)

getLoaderId

public int getLoaderId()
Description copied from interface: I_CmsResourceType
Returns the loader type id of this resource type.

Specified by:
getLoaderId in interface I_CmsResourceType
Overrides:
getLoaderId in class CmsResourceTypeXmlContent
Returns:
the loader type id of this resource type
See Also:
CmsResourceTypeXmlContent.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 (I_CmsResourceType). 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 CmsResourceTypeUnknown is used for the resource type instance.

Specified by:
initConfiguration in interface I_CmsResourceType
Overrides:
initConfiguration in class A_CmsResourceType
Parameters:
name - the resource type name
id - the resource type id
className - 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)

parseLinks

public java.util.List<CmsLink> parseLinks(CmsObject cms,
                                          CmsFile file)
Description copied from interface: I_CmsLinkParseable
Returns 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.).

Specified by:
parseLinks in interface I_CmsLinkParseable
Overrides:
parseLinks in class CmsResourceTypeXmlContent
Parameters:
cms - the current user's context
file - the file to be parsed
Returns:
a list of CmsLink objects with the URIs of all linked resources
See Also:
I_CmsLinkParseable.parseLinks(org.opencms.file.CmsObject, org.opencms.file.CmsFile)

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 CmsFile that have a binary content attached.

Specified by:
writeFile in interface I_CmsResourceType
Overrides:
writeFile in class CmsResourceTypeXmlContent
Parameters:
cms - the current cms context
securityManager - the initialized OpenCms security manager
resource - the resource to apply this operation to
Returns:
the written resource
Throws:
CmsException - if something goes wrong
See Also:
CmsResourceTypeXmlContent.writeFile(org.opencms.file.CmsObject, org.opencms.db.CmsSecurityManager, org.opencms.file.CmsFile)