Re: Accessing property values of applied stereotypes through UML2 API [message #598386] |
Thu, 08 March 2007 19:26 |
Kenn Hussey Messages: 1620 Registered: July 2009 |
Senior Member |
|
|
Andy,
This is a question for the UML2 newsgroup (and I'm sure questions on this
topic have been asked before...). Comments below.
Kenn
"Andreas Maier" <maiera@de.ibm.com> wrote in message
news:espmpr$eji$1@utils.eclipse.org...
> Hi,
> we are in the process of learning how to use the UML2 API in order to
> access properties of stereotypes extending some UML metaclass, let's say
> the Class metaclass.
>
> More precisely, we are trying to test, access and manipulate the value of
> a property P1 of a stereotype S1 applied to a UML class C1 residing in a
> user model. Obviously, the stereotype and its property are defined in some
> profile which is applied to the user model.
>
> We want to use the eGet(), eSet(), eUnset() and eIsSet() methods of
> EObject, to test, access and manipulate the stereotype property P1 or
> better its value in the applied stereotype.
>
> These methods require an EStructuralFeature as an argument which is the
> feature within the EObject the methods are invoked on.
>
> -> Is it correct to assume that in the above case, the EObject these
> methods are invoked on, would be the "applied stereotype" and the
> EStructuralFeature argument of the method would be the stereotype property
> ?
No, the object you would invoke these methods on is the stereotype
application, which can be obtained via the
Element#getStereotypeApplication(Stereotype) method. The feature could be
obtained from that object's Ecore class, which can be obtained either via
the stereotype application object (EObject#eClass()) or via the profile
(Profile#getDefinition(NamedElement)).
>
> -> If so, what is an "applied stereotype" in EMF object terms ?
>
It is a dynamic object instantiated based on the Ecore representation
(definition) of the stereotype.
> -> It seems that the Property interface does not implement or subclass
> from the EStructuralFeature interface. So which object do we pass as the
> EStructuralFeature argument to these methods ?
The Ecore representation (definition) of a stereotype property can be
obtained as described above or via the Profile#getDefinition(NamedElement)
method (recommended).
>
> ... I assume we are having basic problems to understand how this works. So
> don't hesitate to point out that we are being stupid ;-)
>
> -> Is there an example for accessing property values of applied
> stereotypes through the UML2 API ?
Yes - have you read the "Introduction to UML2 Profiles" article on the UML2
documentation page?
>
> Andy
|
|
|
Powered by
FUDForum. Page generated in 0.03626 seconds