Class Extend
A relationship from an extending UseCase to an extended UseCase that specifies how and when the behavior defined in the extending UseCase can be inserted into the behavior defined in the extended UseCase. <p>From package UML::UseCases.</p>
[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Extend")]
public class Extend : NamedElement, IExtend, IDirectedRelationship, IRelationship, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inheritance
-
Extend
- Implements
- Inherited Members
Constructors
Extend()
Creates a new instance
public Extend()
Properties
Children
Gets the child model elements of this model element
public override IEnumerableExpression<IModelElement> Children { get; }
Property Value
ClassInstance
Gets the Class model for this type
public static IClass ClassInstance { get; }
Property Value
Condition
References the condition that must hold when the first ExtensionPoint is reached for the extension to take place. If no constraint is associated with the Extend relationship, the extension is unconditional. <p>From package UML::UseCases.</p>
[Browsable(false)]
[XmlElementName("condition")]
[XmlAttribute(false)]
[Containment]
public IConstraint Condition { get; set; }
Property Value
ExtendedCase
The UseCase that is being extended. <p>From package UML::UseCases.</p>
[XmlElementName("extendedCase")]
[XmlAttribute(true)]
public IUseCase ExtendedCase { get; set; }
Property Value
Extension
The UseCase that represents the extension and owns the Extend relationship. <p>From package UML::UseCases.</p>
[Browsable(false)]
[XmlElementName("extension")]
[XmlAttribute(true)]
[XmlOpposite("extend")]
public IUseCase Extension { get; set; }
Property Value
ExtensionLocation
An ordered list of ExtensionPoints belonging to the extended UseCase, specifying where the respective behavioral fragments of the extending UseCase are to be inserted. The first fragment in the extending UseCase is associated with the first extension point in the list, the second fragment with the second point, and so on. Note that, in most practical cases, the extending UseCase has just a single behavior fragment, so that the list of ExtensionPoints is trivial. <p>From package UML::UseCases.</p>
[LowerBound(1)]
[XmlElementName("extensionLocation")]
[XmlAttribute(true)]
public IOrderedSetExpression<IExtensionPoint> ExtensionLocation { get; }
Property Value
ReferencedElements
Gets the referenced model elements of this model element
public override IEnumerableExpression<IModelElement> ReferencedElements { get; }
Property Value
Methods
Extension_points(object, object)
The ExtensionPoints referenced by the Extend relationship must belong to the UseCase that is being extended. extensionLocation->forAll (xp | extendedCase.extensionPoint->includes(xp))
public bool Extension_points(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
GetClass()
Gets the Class for this model element
public override IClass GetClass()
Returns
GetCollectionForFeature(string)
Gets the Model element collection for the given feature
protected override IList GetCollectionForFeature(string feature)
Parameters
feature
stringThe requested feature
Returns
- IList
A non-generic list of elements
GetExpressionForReference(string)
Gets the property expression for the given reference
protected override INotifyExpression<IModelElement> GetExpressionForReference(string reference)
Parameters
reference
stringThe requested reference in upper case
Returns
- INotifyExpression<IModelElement>
An incremental property expression
GetModelElementForReference(string, int)
Resolves the given URI to a child model element
protected override IModelElement GetModelElementForReference(string reference, int index)
Parameters
Returns
- IModelElement
The model element or null if it could not be found
GetRelativePathForNonIdentifiedChild(IModelElement)
Gets the relative URI fragment for the given child model element
protected override string GetRelativePathForNonIdentifiedChild(IModelElement element)
Parameters
element
IModelElementThe element that should be looked for
Returns
- string
A fragment of the relative URI
OnParentChanged(IModelElement, IModelElement)
Gets called when the parent model element of the current model element changes
protected override void OnParentChanged(IModelElement newParent, IModelElement oldParent)
Parameters
newParent
IModelElementThe new parent model element
oldParent
IModelElementThe old parent model element
OnParentChanging(IModelElement, IModelElement)
Gets called when the parent model element of the current model element is about to change
protected override void OnParentChanging(IModelElement newParent, IModelElement oldParent)
Parameters
newParent
IModelElementThe new parent model element
oldParent
IModelElementThe old parent model element
SetFeature(string, object)
Sets a value to the given feature
protected override void SetFeature(string feature, object value)