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
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].