Previous UML Classes Table of Contents UML Packages Next


11.3.41 RemoveStructuralFeatureValueAction

IntermediateActions


   RemoveStructuralFeatureValueAction is a write structural feature action that removes values from structural features.

*Generalizations

   

    WriteStructuralFeatureAction (from IntermediateActions ) on page 304.

*Description

   The object to access is specified dynamically, by referring to an input pin on which the object will be placed at runtime. The type of the value of this pin is the classifier that owns the specified structural feature, and the value’s multiplicity is 1..1.

   Structural features are potentially multi-valued and ordered, and may support duplicates, so the action supports specification of removal points for new values. It also supports the removal of all duplicate values.

*Attributes

isRemoveDuplicates : Boolean = false [1..1] Specifies whether to remove duplicates of the value in non-unique structural features.

*Associations

Issue 8185 fix typo and add subsets constraint

• removeAt : InputPin [0..1] Specifies the position of an existing value to remove in ordered non-unique structural features. The type of the pin is UnlimitednNatural, but the value cannot be zero or unlimited. {Subsets Action::input}

*Constraints

   [1] Actions removing a value from ordered non-unique structural features must have a single removeAt input pin if isRemoveDuplicates is false. It must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the action has no removeAt input pin.

*Semantics

   Structural features are potentially multi-valued. Removing a value succeeds even when it violates the minimum multiplicity. Removing a value that does not exist has no effect. If the feature is an association end, the semantics are the same as for destroying links, the participants of which are the object owning the structural feature and the value being removed.

   Values of a structural feature may be duplicate in non-unique structural features. The isRemoveDuplicates attribute indicates whether to remove all duplicates of the specified value. The removeAt input pin is required if isRemoveDuplicates is false in ordered non-unique structural features. It indicates the position of an existing value to remove. It must be a positive integer less than or equal to the current number of values. The semantics is undefined for zero or an integer greater than the number of existing values, and for unlimited.

   The semantics is undefined for removing an existing value for a structural feature with isReadOnly=true. The semantics is undefined for removing an existing value of a structural feature with settability readOnly after initialization of the owning object.

*Notation

   No specific notation

   RemoveStructuralFeatureValueAction is introduced to remove structural feature values.

*Changes from previous UML

Issue 8185 - remove last sentence

   RemoveStructuralFeatureValueAction is new in UML 2.0.