Class Extension
An extension is used to indicate that the properties of a metaclass are extended through a stereotype, and gives the ability to flexibly add (and later remove) stereotypes to classes. <p>From package UML::Packages.</p>
[XmlNamespace("http://www.eclipse.org/uml2/5.0.0/UML")]
[XmlNamespacePrefix("uml")]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//Extension")]
public class Extension : Association, IExtension, IAssociation, IRelationship, IClassifier, ITemplateableElement, IType, IPackageableElement, IParameterableElement, IRedefinableElement, INamespace, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inheritance
-
Extension
- Implements
- Inherited Members
Properties
ClassInstance
Gets the Class model for this type
public static IClass ClassInstance { get; }
Property Value
Methods
GetClass()
Gets the Class for this model element
public override IClass GetClass()
Returns
GetMetaclass()
The query metaclass() returns the metaclass that is being extended (as opposed to the extending stereotype). result = (metaclassEnd().type.oclAsType(Class)) <p>From package UML::Packages.</p>
public IClass GetMetaclass()
Returns
GetStereotype()
Retrieves the stereotype that extends a metaclass through this extension.
public IStereotype GetStereotype()
Returns
GetStereotypeEnd()
Retrieves the extension end that is typed by a stereotype (as opposed to a metaclass).
public IProperty GetStereotypeEnd()
Returns
Is_binary(object, object)
An Extension is binary, i.e., it has only two memberEnds. memberEnd->size() = 2
public bool Is_binary(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
MetaclassEnd()
The query metaclassEnd() returns the Property that is typed by a metaclass (as opposed to a stereotype). result = (memberEnd->reject(p | ownedEnd->includes(p.oclAsType(ExtensionEnd)))->any(true)) <p>From package UML::Packages.</p>
public IProperty MetaclassEnd()
Returns
Non_owned_end(object, object)
The non-owned end of an Extension is typed by a Class. metaclassEnd()->notEmpty() and metaclassEnd().type.oclIsKindOf(Class)
public bool Non_owned_end(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.