.. _Property: Property ======== This is the base type for any Property .. table:: **Property** +------------------------------------------------------+------+------------+-------------+ | Name | Type | Attributes | Description | +======================================================+======+============+=============+ | This type does not define any additional attributes. | +------------------------------------------------------+------+------------+-------------+ The **Property** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _Encrypted: Encrypted --------- This type is used to properly manage values must be stored safely (e.g. encrypted) in the IS. .. table:: **Encrypted** ``extends`` **Property** +-------+--------+--------------------------------------------------------+-------------------------------------+ | Name | Type | Attributes | Description | +=======+========+========================================================+=====================================+ | value | String | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` | The value to store safely in the IS | +-------+--------+--------------------------------------------------------+-------------------------------------+ The **Encrypted** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _Metadata: Metadata -------- This type provides metadata per every IdentifiableElement .. table:: **Metadata** ``extends`` **Property** +----------------+--------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | Name | Type | Attributes | Description | +================+========+========================================================+=========================================================================================================================================+ | createdBy | String | ``Mandatory:true`` ``ReadOnly:true`` ``NotNull:true`` | The user that created the Entity or the Relation. It is initialized at Creation Time. | +----------------+--------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | creationTime | Date | ``Mandatory:true`` ``ReadOnly:true`` ``NotNull:true`` | Creation time. It is represented in the format yyyy-MM-dd HH:mm:ss.SSS Z. | +----------------+--------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | lastUpdateBy | String | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` | The user that made the last update to the Entity or the Relation. At Creation Time, it assumes the same value of createdBy. | +----------------+--------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | lastUpdateTime | Date | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` | Last Update time. At creation time it assumes the same value of creationTime. It is represented in the format yyyy-MM-dd HH:mm:ss.SSS Z | +----------------+--------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ The **Metadata** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _PropagationConstraint: PropagationConstraint --------------------- This type provides propagation constraint for Relation .. table:: **PropagationConstraint** ``extends`` **Property** +--------+--------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Type | Attributes | Description | +========+========+=====================================================================================================+======================================================================================================================================================================================================================+ | add | String | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` ``Regex:^(propagate|unpropagate)$`` | It indicates the behaviour to implement for the target Entity when an 'add' action is performed on the source Resource. Add action is the operation of adding an instance to a context. | +--------+--------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | delete | String | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` ``Regex:^(cascadeWhenOrphan|cascade|keep)$`` | It indicates the behaviour to implement for the target Entity when a 'delete' action is performed on the source Resource. Delet action is the operation of deleting an instance (it has an impact on all contexts). | +--------+--------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | remove | String | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` ``Regex:^(cascadeWhenOrphan|cascade|keep)$`` | It indicates the behaviour to implement for the target Entity when a 'remove' action is performed on the source Resource. Remove actions is the operation of removing an instance from a context. | +--------+--------+-----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **PropagationConstraint** current version is 1.1.0. Changelog: * **1.1.0**: Added 'delete' propagation constraint; * **1.0.0**: First Version; .. _Entity: Entity ====== This is the base type for any Entity .. table:: **Entity** +------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ | Properties | +============+============================+====================================================================================================================================================+============================================================================================+ | **Name** | **Type** | **Attributes** | **Description** | +------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ | id | String | ``Mandatory:true`` ``ReadOnly:true`` ``NotNull:true`` ``Regex:^([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}){1}$`` | This UUID is be used to identify the instance univocally. | +------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ | metadata | :ref:`Metadata ` | ``Mandatory:true`` ``ReadOnly:false`` ``NotNull:true`` | Metadata associated with the instance that is automatically created/updated by the system. | +------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ The **Entity** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _Resource: Resource -------- This is the base type for any Resource .. table:: **Resource** ``extends`` **Entity** +-------------------------------------------------------+----------+--------------+--------+-------------+ | Source | Relation | Multiplicity | Target | Description | +=======================================================+==========+==============+========+=============+ | **Facets** | +-------------------------------------------------------+----------+--------------+--------+-------------+ | No specific facets usage defined for this type. | +-------------------------------------------------------+----------+--------------+--------+-------------+ | **Resource Relations** | +-------------------------------------------------------+----------+--------------+--------+-------------+ | No specific Resource relations defined for this type. | +-------------------------------------------------------+----------+--------------+--------+-------------+ The **Resource** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _Facet: Facet ----- This is the base type for any Facet .. table:: **Facet** ``extends`` **Entity** +------------------------------------------------------+--------------+------------------+-----------------+-----------------+ | Properties | +======================================================+==============+==================+=================+=================+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------+ | No specific known usage for this type. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------+ The **Facet** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _Relation: Relation ======== This is the base type for any Relation .. table:: **Relation** +----------------------------+------------------------------------------------------+----------------------------------------------------------+------------------------+----------------------------------------+ | **Definition** | +============================+======================================================+==========================================================+========================+========================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +----------------------------+------------------------------------------------------+----------------------------------------------------------+------------------------+----------------------------------------+ | :ref:`Resource ` | :ref:`Relation ` | 0..n | :ref:`Entity ` | This is the base type for any Relation | +----------------------------+------------------------------------------------------+----------------------------------------------------------+------------------------+----------------------------------------+ | **Properties** | +----------------------------+------------------------------------------------------+----------------------------------------------------------+------------------------+----------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +----------------------------+------------------------------------------------------+----------------------------------------------------------+------------------------+----------------------------------------+ | propagationConstraint | :ref:`PropagationConstraint ` | ``Mandatory:false`` ``ReadOnly:false`` ``NotNull:false`` | | +----------------------------+------------------------------------------------------+----------------------------------------------------------+------------------------+----------------------------------------+ The **Relation** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _IsRelatedTo: IsRelatedTo ----------- This is the base type for any IsRelatedTo relation .. table:: **IsRelatedTo** ``extends`` **Relation** +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | **Definition** | +======================================================+==================================+==================+============================+====================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | :ref:`Resource ` | :ref:`IsRelatedTo ` | 0..n | :ref:`Resource ` | This is the base type for any IsRelatedTo relation | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | **Properties** | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ | No specific known usage for this type. | +------------------------------------------------------+----------------------------------+------------------+----------------------------+----------------------------------------------------+ The **IsRelatedTo** current version is 1.0.0. Changelog: * **1.0.0**: First Version. .. _ConsistsOf: ConsistsOf ---------- This is the base type for any ConsistsOf relation .. table:: **ConsistsOf** ``extends`` **Relation** +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | **Definition** | +======================================================+================================+==================+======================+===================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | :ref:`Resource ` | :ref:`ConsistsOf ` | 0..n | :ref:`Facet ` | This is the base type for any ConsistsOf relation | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ | No specific known usage for this type. | +------------------------------------------------------+--------------------------------+------------------+----------------------+---------------------------------------------------+ The **ConsistsOf** current version is 1.0.0. Changelog: * **1.0.0**: First Version.