Class UML 2.3::AddStructuralFeatureValueAction
Description:
An add structural feature value action is a write structural feature action
for adding values to a structural feature.
Direct Superclasses: WriteStructuralFeatureActionDirect Subclasses: Class Precedence List: AddStructuralFeatureValueAction,
WriteStructuralFeatureAction,
StructuralFeatureAction,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png)
insertAt :
InputPin (0 1); -- source
AddStructuralFeatureValueAction![](/se-interop/image/down-arrow.png)
isReplaceAll : Boolean (1 1); -- source
AddStructuralFeatureValueAction![](/se-interop/image/down-arrow.png)
result :
OutputPin (0 1); -- source
WriteStructuralFeatureAction![](/se-interop/image/down-arrow.png)
value :
InputPin (0 1); -- source
WriteStructuralFeatureAction![](/se-interop/image/down-arrow.png)
object :
InputPin (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png)
structuralFeature :
StructuralFeature (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png)
context :
Classifier (0 1); -- source
Action![](/se-interop/image/down-arrow.png)
input :
InputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png)
isLocallyReentrant : Boolean (1 1); -- source
Action![](/se-interop/image/right-arrow.png)
localPostcondition :
Constraint (0 *); -- source
Action Constraint that must be satisfied when executed is completed.
{
composite}
Subsets: Element.ownedElement
![](/se-interop/image/down-arrow.png)
localPrecondition :
Constraint (0 *); -- source
Action![](/se-interop/image/right-arrow.png)
output :
OutputPin (0 *); -- source
Action The ordered set of output pins connected to the Action. The action places
its results onto pins in this set.
{
composite,
readonly,
ordered}
Derived union with sources: (result)
Subsets: Element.ownedElement
![](/se-interop/image/down-arrow.png)
handler :
ExceptionHandler (0 *); -- source
ExecutableNode![](/se-interop/image/down-arrow.png)
activity :
Activity (0 1); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
inGroup :
ActivityGroup (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
inInterruptibleRegion :
InterruptibleActivityRegion (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
inPartition :
ActivityPartition (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
inStructuredNode :
StructuredActivityNode (0 1); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
incoming :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
outgoing :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
redefinedNode :
ActivityNode (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: unlimited_natural_and_multiplicity() : Boolean;
Description: Actions adding a value to ordered structural features must have a single
input pin for the insertion point with type UnlimitedNatural and multiplicity
of 1..1, otherwise the action has no input pin for the insertion point.
The OCL used here is not normative.Editor's notes: No multiplicity. Other issues. Need investigation.
Expression: structuralFeature.isOrdered implies
(insertAt->size() = 1 and
insertAt.is(1,1) and
insertAt.type.oclIsKindOf(UnlimitedNatural))
or insertAt->size() = 0
Original: let insertAtPins : Collection = self.insertAt in
if self.structuralFeature.isOrdered = #false
then insertAtPins->size() = 0
else let insertAtPin : InputPin= insertAt->asSequence()->first() in
insertAtPins->size() = 1
and insertAtPin.type = UnlimitedNatural
and insertAtPin.multiplicity.is(1,1)) endif
Signature: required_value() : Boolean;
Description: A value input pin is required.
Expression: self.value -> notEmpty()
Operations:
No additional operations.
Send questions or comments to
[email protected].