Package org.opencms.xml
Class CmsXmlContentTypeManager
java.lang.Object
org.opencms.xml.CmsXmlContentTypeManager
Manager class for registered OpenCms XML content types and content collectors.
- Since:
- 6.0.0
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddContentType
(Class<?> clazz) Adds a XML content schema type class to the registered XML content types.void
addSchemaType
(String className, String defaultWidget) Adds a new XML content type schema class and XML widget to the manager by class names.void
Adds a XML content editor widget class, making this widget available for the XML content editor.static CmsXmlContentTypeManager
Returns a statically initialized instance of an XML content type manager (for test cases only).getContentHandler
(String className, String schemaLocation) Returns the XML content handler instance class for the specified class name.getContentType
(String typeName) Returns the content type registered with the given name, ornull
.getContentType
(org.dom4j.Element typeElement, Set<CmsXmlContentDefinition> nestedDefinitions) Generates an initialized instance of a XML content type definition from the given XML schema element.getFreshContentHandler
(String className) Returns a fresh XML content handler instance for the specified class name.Returns an alphabetically sorted list of all configured XML content schema types.getRegisteredWidgetAliases
(String className) Returns the alias for the given Widget class name, may benull
if no alias is defined for the class.Returns an alphabetically sorted list of the class names of all configured XML widgets.Returns an initialized widget class by it's class name or by it's alias.getWidgetDefault
(String typeName) Returns the editor widget for the specified XML content type.Returns the default widget configuration set inopencms-vfs.xml
ornull
if nothing is found.Returns the default widget configuration set inopencms-vfs.xml
ornull
if nothing is found.void
initialize
(CmsObject cms) Initializes XML content types managed in this XML content type manager.
-
Constructor Details
-
CmsXmlContentTypeManager
public CmsXmlContentTypeManager()Creates a new content type manager.
-
-
Method Details
-
createTypeManagerForTestCases
Returns a statically initialized instance of an XML content type manager (for test cases only).- Returns:
- a statically initialized instance of an XML content type manager
-
addContentType
Adds a XML content schema type class to the registered XML content types.- Parameters:
clazz
- the XML content schema type class to add- Returns:
- the created instance of the XML content schema type
- Throws:
CmsXmlException
- in case the class is not an instance ofI_CmsXmlSchemaType
-
addSchemaType
Adds a new XML content type schema class and XML widget to the manager by class names.- Parameters:
className
- class name of the XML content schema type class to adddefaultWidget
- class name of the default XML widget class for the added XML content type
-
addWidget
Adds a XML content editor widget class, making this widget available for the XML content editor.- Parameters:
className
- the widget class to addaliases
- the (optional) alias names to use for the widget classdefaultConfiguration
- the default configuration of the widget
-
getContentHandler
public I_CmsXmlContentHandler getContentHandler(String className, String schemaLocation) throws CmsXmlException Returns the XML content handler instance class for the specified class name.Only one instance of an XML content handler class per content definition name will be generated, and that instance will be cached and re-used for all operations.
- Parameters:
className
- the name of the XML content handler to returnschemaLocation
- the schema location of the XML content definition that handler belongs to- Returns:
- the XML content handler class
- Throws:
CmsXmlException
- if something goes wrong
-
getContentType
public I_CmsXmlSchemaType getContentType(org.dom4j.Element typeElement, Set<CmsXmlContentDefinition> nestedDefinitions) throws CmsXmlException Generates an initialized instance of a XML content type definition from the given XML schema element.- Parameters:
typeElement
- the element to generate the XML content type definition fromnestedDefinitions
- the nested (included) XML content sub-definitions- Returns:
- an initialized instance of a XML content type definition
- Throws:
CmsXmlException
- in case the element does not describe a valid XML content type definition
-
getContentType
Returns the content type registered with the given name, ornull
.- Parameters:
typeName
- the name to look up the content type for- Returns:
- the content type registered with the given name, or
null
-
getFreshContentHandler
Returns a fresh XML content handler instance for the specified class name.- Parameters:
className
- the name of the XML content handler to return- Returns:
- the XML content handler class
- Throws:
CmsXmlException
- if something goes wrong
-
getRegisteredSchemaTypes
Returns an alphabetically sorted list of all configured XML content schema types.- Returns:
- an alphabetically sorted list of all configured XML content schema types
-
getRegisteredWidgetAliases
Returns the alias for the given Widget class name, may benull
if no alias is defined for the class.- Parameters:
className
- the name of the widget- Returns:
- the alias for the given Widget class name, may be
null
if no alias is defined for the class
-
getRegisteredWidgetNames
Returns an alphabetically sorted list of the class names of all configured XML widgets.- Returns:
- an alphabetically sorted list of the class names of all configured XML widgets
-
getWidget
Returns an initialized widget class by it's class name or by it's alias.- Parameters:
name
- the class name or alias name to get the widget for- Returns:
- the widget instance for the class name
-
getWidgetDefault
Returns the editor widget for the specified XML content type.This will always return a fresh instance if it doesn't return null.
- Parameters:
typeName
- the name of the XML content type to get the widget for- Returns:
- the editor widget for the specified XML content type
-
getWidgetDefaultConfiguration
Returns the default widget configuration set inopencms-vfs.xml
ornull
if nothing is found.- Parameters:
widget
- the widget instance to get the default configuration for- Returns:
- the default widget configuration
-
getWidgetDefaultConfiguration
Returns the default widget configuration set inopencms-vfs.xml
ornull
if nothing is found.- Parameters:
name
- the class name or alias name to get the default configuration for- Returns:
- the default widget configuration
-
initialize
Initializes XML content types managed in this XML content type manager.- Parameters:
cms
- an initialized OpenCms user context with "Administrator" role permissions- Throws:
CmsRoleViolationException
- in case the provided OpenCms user context doea not have "Administrator" role permissions
-