Atlas · change · Plate 05 of 16

change

Change

Diagram view views/Changes.lml composing 13 LML includes and 13 associations.

Includes13
Associations13
Types13
Full UML diagram for Change

Model definitions

Change

class models/change/Change.lml

Specification of an update action to be performed incrementally on an element within a BasicDocument.

AttributeTypeCardinalityDefinition
+target ReferenceToIdElement 1 The element that this action should be applied to.
+identifier UniqueIdentifier 1 A unique identifier of this change.
+parentIdentifier UniqueIdentifier 0..1 One or more unique identifiers of _Change_ objects, that this change is supposed to follow after.
+contribMetadata ContributionElementMetadata 0..* Metadata of the contributor responsible for the action.

ChangeSet

class models/change/ChangeSet.lml

A collection of _Change_ data, specifying the document they should be applied to.

AttributeTypeCardinalityDefinition
+changes Change 0..* The set of _Change_ data.
+documentIdentifier UniqueIdentifier 1 The unique identifier that identifies the BasicDocument.

UniqueIdentifier

class models/change/UniqueIdentifier.lml

Identifier used to uniquely identify a BasicDocument.

AttributeTypeCardinalityDefinition
+value String 1 A string that uniquely identifies a BasicDocument.

NodeChange

class models/change/NodeChange.lml

Possible actions that involve modification of data elements at the node level within a BasicDocument. Add/remove node; Move node.

ContentChange

class models/change/ContentChange.lml

Possible actions that involve modification of content within a BasicDocument data element. Add text; Delete text; Modify text.

NodeInsert

class models/change/NodeInsert.lml

Specification of the insertion of a data node in a BasicDocument.

AttributeTypeCardinalityDefinition
+content BasicElement 1 A data element conforming to _BasicElement_ to be inserted into the specified BasicDocument.

NodeDelete

class models/change/NodeDelete.lml

Specification of the deletion of a data node in a BasicDocument.

AttributeTypeCardinalityDefinition
+hashValue String 1 A string that contains the hash value of the node to be deleted for verification purposes.

NodeMove

class models/change/NodeMove.lml

Specification of moving a particular node in a BasicDocument to another location within the same BasicDocument.

AttributeTypeCardinalityDefinition
+positionOld ReferenceToIdElement 1 Indicates the position of the node's parent. While this seems redundant to the `target` attribute inherited from the _Change_ model, it is useful for verifying that the location has not changed.
+positionNew ReferenceToIdElement 1 Indicates the new parent or sibling of the node.

AttributeModify

class models/change/AttributeModify.lml

A container for a multiple _AttributeChangeAction_ data. Add attribute; Remove attribute; Modify attribute.

AttributeTypeCardinalityDefinition
+actions AttributeChangeAction 1..* One or more `AttributeChangeAction` data.

ContentChangeAction

class models/change/ContentChangeAction.lml

The actual content changes that applies to the specified portion of textual content. This is used both by the _ContentModify_ and _AttributeModify_ models as their content are treated as pure text.

AttributeTypeCardinalityDefinition
+action ContentAction 1 Indication that text is to be inserted or deleted from the content.
+from Integer 1 An `Integer` that specifies the beginning cursor position of a textual change.
+to Integer 1 An `Integer` that specifies the ending cursor position of a textual change.
+text String 0..1 In the case of an `insert`, a `String` to be inserted or replace the substring referred to by `from` to `to`.
+length Integer 0..1 In the case of a `delete`, an `Integer` to indicate how many characters to be removed from the `from` position. In the case of an `insert`, an `Integer` to indicate the length of the `text` attribute.

AttributeChangeAction

class models/change/AttributeChangeAction.lml

Possible actions that involve modification of an attribute within a BasicDocument data element.

AttributeTypeCardinalityDefinition
+attributeId String 1 A `String` that identifies the attribute where the attribute change should apply to.