## org.eclipse.uml2.uml
Interface StructuralFeatureAction

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

All Known Subinterfaces:
  AddStructuralFeatureValueAction, ClearStructuralFeatureAction, ReadStructuralFeatureAction, RemoveStructuralFeatureValueAction, WriteStructuralFeatureAction

    public interface StructuralFeatureAction

extends Action

A representation of the model object 'Structural Feature Action'. StructuralFeatureAction is an abstract class for all structural feature actions.

The following features are supported:

- `Structural Feature`
- `Object`

See Also:
  `UMLPackage.getStructuralFeatureAction()`

Field Summary

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

Method Summary
`InputPin` `createObject(java.lang.String name, Type type)` Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Object' containment reference
`InputPin` `createObject(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 'Object' containment reference
`InputPin` `getObject()` Returns the value of the 'Object' containment reference
`StructuralFeature` `getStructuralFeature()` Returns the value of the 'Structural Feature' reference
`void` `setObject(InputPin value)` Sets the value of the '`Object`' containment reference
`void` `setStructuralFeature(StructuralFeature value)` Sets the value of the '`Structural Feature`' reference
`boolean` `validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The multiplicity of the input pin must be 1..1.
`boolean` `validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The structural feature must not be static.
`boolean` `validateOneFeaturingClassifier(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A structural feature has exactly one featuringClassifier.
`boolean` `validateSameType(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The type of the object input pin is the same as the classifier of the object passed on this pin.
`boolean` `validateVisibility(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Visibility of structural feature must allow access to the object performing the action.

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, eIsProxy, eIsSet, eResource, eSet, eUnset`

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

Method Detail

### getStructuralFeature

    StructuralFeature getStructuralFeature()

  Returns the value of the 'Structural Feature' reference. Structural feature to be read.

  Returns:
    the value of the 'Structural Feature' reference.
  See Also:
    `setStructuralFeature(StructuralFeature)`, `UMLPackage.getStructuralFeatureAction_StructuralFeature()`

### setStructuralFeature

    void setStructuralFeature(StructuralFeature value)

  Sets the value of the '`Structural Feature`' reference.

  Parameters:
    `value` - the new value of the 'Structural Feature' reference.
  See Also:
    `getStructuralFeature()`

### getObject

    InputPin getObject()

  Returns the value of the 'Object' containment reference. Gives the input pin from which the object whose structural feature is to be read or written is obtained.

  Returns:
    the value of the 'Object' containment reference.
  See Also:
    `setObject(InputPin)`, `UMLPackage.getStructuralFeatureAction_Object()`

### setObject

    void setObject(InputPin value)

  Sets the value of the '`Object`' containment reference.

  Parameters:
    `value` - the new value of the 'Object' containment reference.
  See Also:
    `getObject()`

### createObject

    InputPin createObject(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 'Object' 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:
    `getObject()`

### createObject

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

  Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Object' 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:
    `getObject()`

### validateNotStatic

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

  The structural feature must not be static. self.structuralFeature.isStatic = #false

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

### validateSameType

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

  The type of the object input pin is the same as the classifier of the object passed on this pin. true

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

### validateMultiplicity

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

  The multiplicity of the input pin must be 1..1. self.object.multiplicity.is(1,1)

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

### validateVisibility

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

  Visibility of structural feature must allow access to the object performing the action. let host : Classifier = self.context in self.structuralFeature.visibility = #public or host = self.structuralFeature.featuringClassifier.type or (self.structuralFeature.visibility = #protected and host.allSupertypes ->includes(self.structuralFeature.featuringClassifier.type)))

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

### validateOneFeaturingClassifier

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

  A structural feature has exactly one featuringClassifier. self.structuralFeature.featuringClassifier->size() = 1

  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.