Class NodePropertyHelper


  • public class NodePropertyHelper
    extends java.lang.Object
    This class provides services for translating exploded properties (as persisted in alf_node_properties) in the public form, which is a Map of values keyed by their QName.
    Since:
    3.4
    Author:
    Derek Hulley
    • Constructor Detail

      • NodePropertyHelper

        public NodePropertyHelper​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService,
                                  QNameDAO qnameDAO,
                                  LocaleDAO localeDAO,
                                  ContentDataDAO contentDataDAO)
        Construct the helper with the appropriate DAOs and services
    • Method Detail

      • convertToPersistentProperties

        public java.util.Map<NodePropertyKey,​NodePropertyValue> convertToPersistentProperties​(java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> in)
      • makeNodePropertyValue

        public NodePropertyValue makeNodePropertyValue​(org.alfresco.service.cmr.dictionary.PropertyDefinition propertyDef,
                                                       java.io.Serializable value)
        Helper method to convert the Serializable value into a full, persistable NodePropertyValue.

        Where the property definition is null, the value will take on the generic ANY value.

        Collections are NOT supported. These must be split up by the calling code before calling this method. Map instances are supported as plain serializable instances.

        Parameters:
        propertyDef - the property dictionary definition, may be null
        value - the value, which will be converted according to the definition - may be null
        Returns:
        Returns the persistable property value
      • getPublicProperty

        public java.io.Serializable getPublicProperty​(java.util.Map<NodePropertyKey,​NodePropertyValue> propertyValues,
                                                      org.alfresco.service.namespace.QName propertyQName)
      • convertToPublicProperties

        public java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> convertToPublicProperties​(java.util.Map<NodePropertyKey,​NodePropertyValue> propertyValues)
      • makeSerializableValue

        public java.io.Serializable makeSerializableValue​(org.alfresco.service.cmr.dictionary.PropertyDefinition propertyDef,
                                                          NodePropertyValue propertyValue)
        Extracts the externally-visible property from the persistable value.
        Parameters:
        propertyDef - the model property definition - may be null
        propertyValue - the persisted property
        Returns:
        Returns the value of the property in the format dictated by the property definition, or null if the property value is null