[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.modeling.mdt.uml2] Re: Retrieving a stereotype'S property with a static profile
|
In article <h05mvv$fht$1@xxxxxxxxxxxxxxxxx>,
Timothy Marc <timothymarc@xxxxxxxxxx> wrote:
> Hey all,
>
> what is the common way to retrieve a property value of a stereotype from
> a staric profile?
>
> I assumed, because of the additional code generation step, it had to be
> something like this:
>
> Weight w = (Weight)element.getAppliedStereotype(Misc::Weight);
> w.getWeight();
I'm using the following construct (since I use a lot of stereotypes):
public static ExecutionList isExecutionList(Class e) {
return isRCOSSt(ExecutionList.class,e); }
@SuppressWarnings("unchecked")
private static <M> M isRCOSSt(java.lang.Class<M> stClass, Element e) {
assert(e != null);
Stereotype st =
e.getAppliedStereotype("rCOS::"+stClass.getSimpleName());
if (st == null) return null;
else return (M)e.getStereotypeApplication(st); }
(sorry for the formatting).
ExecutionList is a stereotype I defined for Class. Jumping through the
hoop with the Class<M> ensures that any disappearing classes in the
generated code for the static profile lead to an immediate compilation
error.
If you introduce a common (abstract) superclass for your stereotypes,
you can get even more type safety by stating M extends Super.
Hope this helps,
Volker
--
United Nations University - http://rcos.iist.unu.edu/~vs/
International Institute for Software Technology Macau SAR, China