Class RedefinableTemplateSignature
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
ClassInstance
Gets the Class model for this type
public static IClass ClassInstance { get; }
Property Value
Classifier
The Classifier that owns this RedefinableTemplateSignature. <p>From package UML::Classification.</p>
[XmlElementName("classifier")]
[XmlAttribute(true)]
public IClassifier Classifier { get; set; }
Property Value
ExtendedSignature
The signatures extended by this RedefinableTemplateSignature. <p>From package UML::Classification.</p>
[XmlElementName("extendedSignature")]
[XmlAttribute(true)]
public ISetExpression<IRedefinableTemplateSignature> ExtendedSignature { get; }
Property Value
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
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
ReferencedElements
Gets the referenced model elements of this model element
public override IEnumerableExpression<IModelElement> ReferencedElements { get; }
Property Value
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
Methods
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
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
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
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
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
SetFeature(string, object)
Sets a value to the given feature
protected override void SetFeature(string feature, object value)
Parameters
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
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.