Last modified on 3 August 2016, at 08:59

Attributes

Attributes are used to store extended information per property. Attributes are objects managing additional fields for properties. As every UBIK® object they are configurable according the set of their properties.

It is also possible to derive from the standard attributes in customizing and add additional attributes.

Configuration

MetaAttribute property

Attributes must be activated by defining the MetaAttribute property for a MetaProperty.

IC Attention.pngThe new MetaAttribute Property does replace the NEEDS_VALIDATION property (Version 2.5)!

UBIK® supports the following types of attributes

  • Content Attributes
  • Proxy Attributes

Standard properties of Attributes

Property Purpose
ValidationTimestamp Time stamp the property value was validated
ValidationUser Login validating the property value
Owner UBIK® content object the attribute is associated to (the owner of the according property)
MetaProperty MetaProperty of the related property

Properties for Proxy Attributes

Property Purpose
InterfaceTimestamp Time stamp the property value was ex- / imported

Accessing the data

Attribute data must be accessed via their properties. Therefore, properties provide methods to read and write attribute values:

        /// <summary>
        /// Tries the get attribute value.
        /// </summary>
        /// <typeparam name="T">attribute value type</typeparam>
        /// <param name="attributeName">Name of the attribute.</param>
        /// <param name="value">The value.</param>
        /// <returns>true as successfull</returns>
        public virtual bool TryGetAttributeValue<T>(string attributeName, out T value)

        /// <summary>
        /// Tries the get attribute value.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="attributeID">The attribute identifier.</param>
        /// <param name="value">The value.</param>
        /// <returns>true as successfull</returns>
        public virtual bool TryGetAttributeValue<T>(SystemStrings attributeID, out T value)

        /// <summary>
        /// Tries the set attribute value.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="attributeName">Name of the attribute.</param>
        /// <param name="value">The value.</param>
        /// <returns>true as successfull</returns>
        public virtual bool TrySetAttributeValue<T>(string attributeName, T value)

        /// <summary>
        /// Tries the set attribute value.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="attributeID">The attribute identifier.</param>
        /// <param name="value">The value.</param>
        /// <returns>true as successfull</returns>
        public virtual bool TrySetAttributeValue<T>(SystemStrings attributeID, T value)