Software Disclaimer

Class UML 2.3::RemoveStructuralFeatureValueAction

Description:

A remove structural feature value action is a write structural feature action that removes values from structural features.

Direct Superclasses: WriteStructuralFeatureAction

Direct Subclasses:

Class Precedence List: RemoveStructuralFeatureValueAction, WriteStructuralFeatureAction, StructuralFeatureAction, Action, ExecutableNode, ActivityNode, RedefinableElement, NamedElement, Element

Properties:

isRemoveDuplicates : Boolean (1 1); -- source RemoveStructuralFeatureValueAction
removeAt : InputPin (0 1); -- source RemoveStructuralFeatureValueAction

Specifies the position of an existing value to remove in ordered nonunique structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited.
{composite}
Subsets: Action.input

result : OutputPin (0 1); -- source WriteStructuralFeatureAction
value : InputPin (0 1); -- source WriteStructuralFeatureAction
object : InputPin (1 1); -- source StructuralFeatureAction
structuralFeature : StructuralFeature (1 1); -- source StructuralFeatureAction
context : Classifier (0 1); -- source Action
input : InputPin (0 *); -- source Action
isLocallyReentrant : Boolean (1 1); -- source Action
localPostcondition : Constraint (0 *); -- source Action
localPrecondition : Constraint (0 *); -- source Action
output : OutputPin (0 *); -- source Action
handler : ExceptionHandler (0 *); -- source ExecutableNode
activity : Activity (0 1); -- source ActivityNode
inGroup : ActivityGroup (0 *); -- source ActivityNode
inInterruptibleRegion : InterruptibleActivityRegion (0 *); -- source ActivityNode
inPartition : ActivityPartition (0 *); -- source ActivityNode
inStructuredNode : StructuredActivityNode (0 1); -- source ActivityNode
incoming : ActivityEdge (0 *); -- source ActivityNode
outgoing : ActivityEdge (0 *); -- source ActivityNode
redefinedNode : ActivityNode (0 *); -- source ActivityNode
isLeaf : Boolean (1 1); -- source RedefinableElement
redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
redefinitionContext : Classifier (0 *); -- source RedefinableElement
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: non_unique_removal() : Boolean;
Description: Actions removing a value from ordered non-unique structural features must have a single removeAt input pin and no value input pin if isRemoveDuplicates is false. The removeAt pin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the action has a value input pin and no removeAt input pin.
Expression: if not self.structuralFeature.isOrdered or self.structuralFeature.isUnique or isRemoveDuplicates then self.removeAt -> isEmpty() and self.value -> notEmpty() else self.value -> isEmpty() and self.removeAt -> notEmpty() and self.removeAt.type = UnlimitedNatural and self.removeAt.lower = 1 and self.removeAt.upper = 1 endif

Operations:

No additional operations.



Send questions or comments to [email protected].