UBIK® 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.
Prerequisite
Attributes are supported since UBIK® Version 2.5.
Configuration
UBIK® Attributes must be activated by defining the MetaAttribute property for a MetaProperty.
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)
/// 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)