Table of Contents

Class RedefinableTemplateSignature

Namespace
NMF.Interop.Uml
Assembly
NMF.UMLInterop.dll

A RedefinableTemplateSignature supports the addition of formal template parameters in a specialization of a template classifier. <p>From package UML::Classification.</p>

[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//RedefinableTemplateSignature")]
public class RedefinableTemplateSignature : RedefinableElement, IRedefinableTemplateSignature, ITemplateSignature, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inheritance
RedefinableTemplateSignature
Implements
Inherited Members

Constructors

RedefinableTemplateSignature()

Creates a new instance

public RedefinableTemplateSignature()

Properties

Children

Gets the child model elements of this model element

public override IEnumerableExpression<IModelElement> Children { get; }

Property Value

IEnumerableExpression<IModelElement>

ClassInstance

Gets the Class model for this type

public static IClass ClassInstance { get; }

Property Value

IClass

Classifier

The Classifier that owns this RedefinableTemplateSignature. <p>From package UML::Classification.</p>

[XmlElementName("classifier")]
[XmlAttribute(true)]
public IClassifier Classifier { get; set; }

Property Value

IClassifier

ExtendedSignature

The signatures extended by this RedefinableTemplateSignature. <p>From package UML::Classification.</p>

[XmlElementName("extendedSignature")]
[XmlAttribute(true)]
public ISetExpression<IRedefinableTemplateSignature> ExtendedSignature { get; }

Property Value

ISetExpression<IRedefinableTemplateSignature>

OwnedParameter

The formal parameters that are owned by this TemplateSignature. <p>From package UML::CommonStructure.</p>

[XmlElementName("ownedParameter")]
[XmlAttribute(true)]
[XmlOpposite("signature")]
public IOrderedSetExpression<ITemplateParameter> OwnedParameter { get; }

Property Value

IOrderedSetExpression<ITemplateParameter>

Parameter

The ordered set of all formal TemplateParameters for this TemplateSignature. <p>From package UML::CommonStructure.</p>

[LowerBound(1)]
[XmlElementName("parameter")]
[XmlAttribute(true)]
public IListExpression<ITemplateParameter> Parameter { get; }

Property Value

IListExpression<ITemplateParameter>

ReferencedElements

Gets the referenced model elements of this model element

public override IEnumerableExpression<IModelElement> ReferencedElements { get; }

Property Value

IEnumerableExpression<IModelElement>

Template

The TemplateableElement that owns this TemplateSignature. <p>From package UML::CommonStructure.</p>

[Browsable(false)]
[XmlElementName("template")]
[XmlAttribute(true)]
[XmlOpposite("ownedTemplateSignature")]
public ITemplateableElement Template { get; set; }

Property Value

ITemplateableElement

Methods

GetClass()

Gets the Class for this model element

public override IClass GetClass()

Returns

IClass

GetCollectionForFeature(string)

Gets the Model element collection for the given feature

protected override IList GetCollectionForFeature(string feature)

Parameters

feature string

The 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 string

The requested reference in upper case

Returns

INotifyExpression<IModelElement>

An incremental property expression

GetInheritedParameters()

Derivation for RedefinableTemplateSignature::/inheritedParameter result = (if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter->asSet() endif) <p>From package UML::Classification.</p>

public ISetExpression<ITemplateParameter> GetInheritedParameters()

Returns

ISetExpression<ITemplateParameter>

GetModelElementForReference(string, int)

Resolves the given URI to a child model element

protected override IModelElement GetModelElementForReference(string reference, int index)

Parameters

reference string

The requested reference name

index int

The index of this reference

Returns

IModelElement

The model element or null if it could not be found

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 IModelElement

The new parent model element

oldParent IModelElement

The 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 IModelElement

The new parent model element

oldParent IModelElement

The old parent model element

Own_elements(object, object)

Parameters must own the ParameterableElements they parameter or those ParameterableElements must be owned by the TemplateableElement being templated. template.ownedElement->includesAll(parameter.parameteredElement->asSet() - parameter.ownedParameteredElement->asSet())

public bool Own_elements(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Redefines_parents(object, object)

If any of the parent Classifiers are a template, then the extendedSignature must include the signature of that Classifier. classifier.allParents()->forAll(c | c.ownedTemplateSignature->notEmpty() implies self->closure(extendedSignature)->includes(c.ownedTemplateSignature))

public bool Redefines_parents(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

SetFeature(string, object)

Sets a value to the given feature

protected override void SetFeature(string feature, object value)

Parameters

feature string

The requested feature

value object

The value that should be set to that feature

Unique_parameters(object, object)

The names of the parameters of a TemplateSignature are unique. parameter->forAll( p1, p2 | (p1 <> p2 and p1.parameteredElement.oclIsKindOf(NamedElement) and p2.parameteredElement.oclIsKindOf(NamedElement) ) implies p1.parameteredElement.oclAsType(NamedElement).name <> p2.parameteredElement.oclAsType(NamedElement).name)

public bool Unique_parameters(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool