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: WriteStructuralFeatureActionDirect Subclasses: Class Precedence List: RemoveStructuralFeatureValueAction,
WriteStructuralFeatureAction,
StructuralFeatureAction,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
NamedElement,
ElementProperties:
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
ElementConstraints:
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].