Class TemplateBinding
A TemplateBinding is a DirectedRelationship between a TemplateableElement and a template. A TemplateBinding specifies the TemplateParameterSubstitutions of actual parameters for the formal parameters of the template. <p>From package UML::CommonStructure.</p>
[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding")]
public class TemplateBinding : DirectedRelationship, ITemplateBinding, IDirectedRelationship, IRelationship, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inheritance
-
TemplateBinding
- Implements
- Inherited Members
Constructors
TemplateBinding()
Creates a new instance
public TemplateBinding()
Properties
BoundElement
The TemplateableElement that is bound by this TemplateBinding. <p>From package UML::CommonStructure.</p>
[Browsable(false)]
[XmlElementName("boundElement")]
[XmlAttribute(true)]
[XmlOpposite("templateBinding")]
public ITemplateableElement BoundElement { get; set; }
Property Value
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
ParameterSubstitution
The TemplateParameterSubstitutions owned by this TemplateBinding. <p>From package UML::CommonStructure.</p>
[Browsable(false)]
[XmlElementName("parameterSubstitution")]
[XmlAttribute(false)]
[Containment]
[XmlOpposite("templateBinding")]
public IOrderedSetExpression<ITemplateParameterSubstitution> ParameterSubstitution { get; }
Property Value
ReferencedElements
Gets the referenced model elements of this model element
public override IEnumerableExpression<IModelElement> ReferencedElements { get; }
Property Value
Signature
The TemplateSignature for the template that is the target of this TemplateBinding. <p>From package UML::CommonStructure.</p>
[XmlElementName("signature")]
[XmlAttribute(true)]
public ITemplateSignature Signature { 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
GetCompositionName(object)
Gets the property name for the given container
protected override string GetCompositionName(object container)
Parameters
container
objectThe container object
Returns
- string
The name of the respective container reference
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
One_parameter_substitution(object, object)
A TemplateBiinding contains at most one TemplateParameterSubstitution for each formal TemplateParameter of the target TemplateSignature. signature.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() <= 1)
public bool One_parameter_substitution(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
Parameter_substitution_formal(object, object)
Each parameterSubstitution must refer to a formal TemplateParameter of the target TemplateSignature. parameterSubstitution->forAll(b | signature.parameter->includes(b.formal))
public bool Parameter_substitution_formal(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)