## org.eclipse.uml2.uml
Interface AddStructuralFeatureValueAction

All Superinterfaces:
  Action, ActivityNode, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, ExecutableNode, NamedElement, org.eclipse.emf.common.notify.Notifier, RedefinableElement, StructuralFeatureAction, WriteStructuralFeatureAction

    public interface AddStructuralFeatureValueAction

extends WriteStructuralFeatureAction

A representation of the model object 'Add Structural Feature Value Action'. An add structural feature value action is a write structural feature action for adding values to a structural feature.

The following features are supported:

- `Is Replace All`
- `Insert At`

See Also:
  `UMLPackage.getAddStructuralFeatureValueAction()`

Field Summary

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Method Summary
`InputPin` `createInsertAt(java.lang.String name, Type type)` Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Insert At' containment reference
`InputPin` `createInsertAt(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)` Creates a new `InputPin`, with the specified 'Name', and 'Type', and sets the 'Insert At' containment reference
`InputPin` `getInsertAt()` Returns the value of the 'Insert At' containment reference.
`boolean` `isReplaceAll()` Returns the value of the 'Is Replace All' attribute.
`void` `setInsertAt(InputPin value)` Sets the value of the '`Insert At`' containment reference
`void` `setIsReplaceAll(boolean value)` Sets the value of the '`Is Replace All`' attribute
`boolean` `validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` 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.

Methods inherited from interface org.eclipse.uml2.uml.WriteStructuralFeatureAction
`createResult, createValue, createValue, getResult, getValue, setResult, setValue, validateInputPin, validateMultiplicityOfResult, validateTypeOfResult`

Methods inherited from interface org.eclipse.uml2.uml.StructuralFeatureAction
`createObject, createObject, getObject, getStructuralFeature, setObject, setStructuralFeature, validateMultiplicity, validateNotStatic, validateOneFeaturingClassifier, validateSameType, validateVisibility`

Methods inherited from interface org.eclipse.uml2.uml.Action
`createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs`

Methods inherited from interface org.eclipse.uml2.uml.ExecutableNode
`createHandler, getHandlers`

Methods inherited from interface org.eclipse.uml2.uml.ActivityNode
`getActivity, getIncoming, getIncoming, getIncomings, getInGroups, getInInterruptibleRegions, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoing, getOutgoings, getRedefinedNode, getRedefinedNode, getRedefinedNodes, setActivity, setInStructuredNode, validateOwned, validateOwnedStructuredNode`

Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
`getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid`

Methods inherited from interface org.eclipse.uml2.uml.NamedElement

`allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership`

Methods inherited from interface org.eclipse.uml2.uml.Element

`addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### isReplaceAll

    boolean isReplaceAll()

  Returns the value of the 'Is Replace All' attribute. The default value is `"false"`. Specifies whether existing values of the structural feature of the object should be removed before adding the new value.

  Returns:
    the value of the 'Is Replace All' attribute.
  See Also:
    `setIsReplaceAll(boolean)`, `UMLPackage.getAddStructuralFeatureValueAction_IsReplaceAll()`

### setIsReplaceAll

    void setIsReplaceAll(boolean value)

  Sets the value of the '`Is Replace All`' attribute.

  Parameters:
    `value` - the new value of the 'Is Replace All' attribute.
  See Also:
    `isReplaceAll()`

### getInsertAt

    InputPin getInsertAt()

  Returns the value of the 'Insert At' containment reference.

  This feature subsets the following features:

  - '`Input`'
  Gives the position at which to insert a new value or move an existing value in ordered structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero. This pin is omitted for unordered structural features.

  Returns:
    the value of the 'Insert At' containment reference.
  See Also:
    `setInsertAt(InputPin)`, `UMLPackage.getAddStructuralFeatureValueAction_InsertAt()`

### setInsertAt

    void setInsertAt(InputPin value)

  Sets the value of the '`Insert At`' containment reference.

  Parameters:
    `value` - the new value of the 'Insert At' containment reference.
  See Also:
    `getInsertAt()`

### createInsertAt

    InputPin createInsertAt(java.lang.String name,
                            Type type,
                            org.eclipse.emf.ecore.EClass eClass)

  Creates a new `InputPin`, with the specified 'Name', and 'Type', and sets the 'Insert At' containment reference.

  Parameters:
    `name` - The 'Name' for the new `InputPin`, or `null`.
    `type` - The 'Type' for the new `InputPin`, or `null`.
    `eClass` - The Ecore class of the `InputPin` to create.
  Returns:
    The new `InputPin`.
  See Also:
    `getInsertAt()`

### createInsertAt

    InputPin createInsertAt(java.lang.String name,
                            Type type)

  Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Insert At' containment reference.

  Parameters:
    `name` - The 'Name' for the new `InputPin`, or `null`.
    `type` - The 'Type' for the new `InputPin`, or `null`.
  Returns:
    The new `InputPin`.
  See Also:
    `getInsertAt()`

### validateUnlimitedNaturalAndMultiplicity

    boolean validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                    java.util.Map<java.lang.Object,java.lang.Object> context)

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

  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

Copyright 2003, 2007 IBM Corporation and others. All Rights Reserved.