|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opencms.xml.content.CmsXmlContentPropertyHelper
public final class CmsXmlContentPropertyHelper
Provides common methods on XML property configuration.
Nested Class Summary | |
---|---|
static class |
CmsXmlContentPropertyHelper.JsonProperty
Element Property json property constants. |
Method Summary | |
---|---|
protected static void |
addFileListPropertyValue(CmsObject cms,
Element valueElement,
String propValue)
Adds the XML for a property value of a property of type 'vfslist' to the DOM. |
protected static String |
convertIdsToPaths(CmsObject cms,
String value)
Converts a string containing zero or more structure ids into a string containing the corresponding VFS paths. |
protected static String |
convertPathsToIds(CmsObject cms,
String value)
Converts a string containing zero or more VFS paths into a string containing the corresponding structure ids. |
protected static Map<String,String> |
convertProperties(CmsObject cms,
Map<String,String> props,
Map<String,CmsXmlContentProperty> propConfig,
boolean toClient)
Helper method for converting a map of properties from client format to server format or vice versa. |
static Map<String,String> |
convertPropertiesToClientFormat(CmsObject cms,
Map<String,String> props,
Map<String,CmsXmlContentProperty> propConfig)
Converts a map of properties from server format to client format. |
static Map<String,String> |
convertPropertiesToServerFormat(CmsObject cms,
Map<String,String> props,
Map<String,CmsXmlContentProperty> propConfig)
Converts a map of properties from client format to server format. |
protected static String |
convertStringPropertyValue(CmsObject cms,
String propValue,
String type,
boolean toClient)
Converts a property value given as a string between server format and client format. |
static Map<String,CmsXmlContentProperty> |
copyPropertyConfiguration(Map<String,CmsXmlContentProperty> propConfig)
Creates a deep copy of a property configuration map. |
protected static CmsVfsFileValueBean |
getFileValueForIdOrUri(CmsObject cms,
String idOrUri)
Given a string which might be a id or a (sitemap or VFS) URI, this method will return a bean containing the right (sitemap or vfs) root path and (sitemap entry or structure) id. |
static CmsUUID |
getIdForUri(CmsObject cms,
String uri)
Looks up an URI in the sitemap and returns either a sitemap entry id (if the URI is a sitemap URI) or the structure id of a resource (if the URI is a VFS path). |
static CmsMacroResolver |
getMacroResolverForProperties(CmsObject cms,
I_CmsXmlContentHandler contentHandler)
Creates and configures a new macro resolver for resolving macros which occur in property definitions. |
protected static String |
getPropertyBaseName(String propName)
Returns the base name of a given property name. |
protected static CmsXmlContentProperty |
getPropertyConfig(Map<String,CmsXmlContentProperty> propertyConfig,
String propName)
Helper method for accessing the property configuration for a single property. |
static Map<String,CmsXmlContentProperty> |
getPropertyInfo(CmsObject cms,
CmsResource resource)
Returns the property information for the given resource (type) AND the current user. |
static String |
getPropValueIds(CmsObject cms,
String type,
String value)
Returns a converted property value depending on the given type. |
static String |
getPropValuePaths(CmsObject cms,
String type,
String value)
Returns a converted property value depending on the given type. |
static String |
getUriForId(CmsObject cms,
CmsUUID id)
Returns a sitemap or VFS path given a sitemap entry id or structure id. |
static JSONObject |
getWidgetConfigurationAsJSON(String widgetConfiguration)
Returns the widget configuration string parsed into a JSONObject. |
static boolean |
isSpecialProperty(String name)
Returns true if the property name passed as a parameter is the name of a special system property. |
static Map<String,String> |
mergeDefaults(CmsObject cms,
CmsResource resource,
Map<String,String> properties)
Extends the given properties with the default values from the resource's property configuration. |
static Map<String,String> |
readProperties(CmsXmlContent xmlContent,
Locale locale,
Element element,
String elemPath,
CmsXmlContentDefinition elemDef)
Reads the properties from property-enabled xml content values. |
static Map<String,CmsXmlContentProperty> |
resolveMacrosInProperties(Map<String,CmsXmlContentProperty> properties,
CmsMacroResolver resolver)
Resolves macros in all properties in a map. |
static CmsXmlContentProperty |
resolveMacrosInProperty(CmsXmlContentProperty property,
CmsMacroResolver resolver)
Resolves the macros in a single property. |
static void |
saveProperties(CmsObject cms,
Element parentElement,
Map<String,String> properties,
CmsResource resource,
Map<String,CmsXmlContentProperty> propertiesConf)
Saves the given properties to the given xml element. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static Map<String,String> convertPropertiesToClientFormat(CmsObject cms, Map<String,String> props, Map<String,CmsXmlContentProperty> propConfig)
cms
- the CmsObject to use for VFS operationsprops
- the map of propertiespropConfig
- the property configuration
public static Map<String,String> convertPropertiesToServerFormat(CmsObject cms, Map<String,String> props, Map<String,CmsXmlContentProperty> propConfig)
cms
- the CmsObject to use for VFS operationsprops
- the map of propertiespropConfig
- the property configuration
public static Map<String,CmsXmlContentProperty> copyPropertyConfiguration(Map<String,CmsXmlContentProperty> propConfig)
propConfig
- the property configuration which should be copied
public static CmsUUID getIdForUri(CmsObject cms, String uri) throws CmsException
cms
- the current CMS contexturi
- the URI to look up
CmsException
- if something goes wrongpublic static CmsMacroResolver getMacroResolverForProperties(CmsObject cms, I_CmsXmlContentHandler contentHandler)
cms
- the CMS contextcontentHandler
- the content handler which contains the message bundle that should be available in the macro resolver
public static Map<String,CmsXmlContentProperty> getPropertyInfo(CmsObject cms, CmsResource resource) throws CmsException
cms
- the current CMS contextresource
- the resource
CmsException
- if something goes wrongpublic static String getPropValueIds(CmsObject cms, String type, String value)
If the type is CmsXmlContentProperty.PropType.vfslist
, the value is parsed as a
list of paths and converted to a list of IDs.
cms
- the current CMS contexttype
- the property typevalue
- the raw property value
public static String getPropValuePaths(CmsObject cms, String type, String value)
If the type is CmsXmlContentProperty.PropType.vfslist
, the value is parsed as a
list of IDs and converted to a list of paths.
cms
- the current CMS contexttype
- the property typevalue
- the raw property value
public static String getUriForId(CmsObject cms, CmsUUID id) throws CmsException
This method first tries to read a sitemap entry with the given id. If this succeeds, the sitemap entry's sitemap path will be returned. If it fails, the method interprets the id as a structure id and tries to read the corresponding resource, and then returns its VFS path.
cms
- the CMS contextid
- a sitemap entry id or structure id
CmsException
- if something goes wrongpublic static JSONObject getWidgetConfigurationAsJSON(String widgetConfiguration)
The configuration string should be a map of key value pairs separated by ':' and '|': KEY_1:VALUE_1|KEY_2:VALUE_2 ...
widgetConfiguration
- the configuration to parse
public static boolean isSpecialProperty(String name)
name
- the property name
public static Map<String,String> mergeDefaults(CmsObject cms, CmsResource resource, Map<String,String> properties)
cms
- the current CMS contextresource
- the resource to get the property configuration fromproperties
- the properties to extend
public static Map<String,String> readProperties(CmsXmlContent xmlContent, Locale locale, Element element, String elemPath, CmsXmlContentDefinition elemDef)
xmlContent
- the xml contentlocale
- the current localeelement
- the xml elementelemPath
- the xpathelemDef
- the element definition
CmsXmlContainerPage.XmlNode.Elements
public static Map<String,CmsXmlContentProperty> resolveMacrosInProperties(Map<String,CmsXmlContentProperty> properties, CmsMacroResolver resolver)
properties
- the map of properties in which macros should be resolvedresolver
- the macro resolver to use
public static CmsXmlContentProperty resolveMacrosInProperty(CmsXmlContentProperty property, CmsMacroResolver resolver)
property
- the property in which macros should be resolvedresolver
- the macro resolver to use
public static void saveProperties(CmsObject cms, Element parentElement, Map<String,String> properties, CmsResource resource, Map<String,CmsXmlContentProperty> propertiesConf)
cms
- the current CMS contextparentElement
- the parent xml elementproperties
- the properties to save, if there is a list of resources, every entry can be a site path or a UUIDresource
- the resource to get the property configuration frompropertiesConf
- the configuration of the propertiesprotected static void addFileListPropertyValue(CmsObject cms, Element valueElement, String propValue)
cms
- the current CMS contextvalueElement
- the element to which the vfslist property value should be addedpropValue
- the property value which should be savedprotected static String convertIdsToPaths(CmsObject cms, String value)
cms
- the CmsObject to use for the VFS operationsvalue
- a string representation of a list of ids
protected static String convertPathsToIds(CmsObject cms, String value)
cms
- the CmsObject to use for the VFS operationsvalue
- a string representation of a list of paths
protected static Map<String,String> convertProperties(CmsObject cms, Map<String,String> props, Map<String,CmsXmlContentProperty> propConfig, boolean toClient)
cms
- the CmsObject to use for VFS operationsprops
- the map of propertiespropConfig
- the property configurationtoClient
- if true, convert from server to client, else from client to server
protected static String convertStringPropertyValue(CmsObject cms, String propValue, String type, boolean toClient)
cms
- the current CMS contextpropValue
- the property value to converttype
- the type of the propertytoClient
- if true, convert to client format, else convert to server format
protected static CmsVfsFileValueBean getFileValueForIdOrUri(CmsObject cms, String idOrUri) throws CmsException
cms
- the current CMS contextidOrUri
- a string containing an id or an URI
CmsException
- if something goes wrongprotected static String getPropertyBaseName(String propName)
If propName starts with a '#' character, the base name equals the part after the '#', otherwise the base name is identical to propName.
propName
- a property name
protected static CmsXmlContentProperty getPropertyConfig(Map<String,CmsXmlContentProperty> propertyConfig, String propName)
This method uses the base name of the property to access the property configuration, i.e. if propName starts with a '#', the part after the '#' will be used as the key for the property configuration.
propertyConfig
- the property configuration mappropName
- the name of a property
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |