Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.uml2.codegen.ecore/templates/model/Class/getGenFeature.TODO.override.javajetinc')
-rw-r--r--plugins/org.eclipse.uml2.codegen.ecore/templates/model/Class/getGenFeature.TODO.override.javajetinc76
1 files changed, 76 insertions, 0 deletions
diff --git a/plugins/org.eclipse.uml2.codegen.ecore/templates/model/Class/getGenFeature.TODO.override.javajetinc b/plugins/org.eclipse.uml2.codegen.ecore/templates/model/Class/getGenFeature.TODO.override.javajetinc
index 240d31a3..d578d768 100644
--- a/plugins/org.eclipse.uml2.codegen.ecore/templates/model/Class/getGenFeature.TODO.override.javajetinc
+++ b/plugins/org.eclipse.uml2.codegen.ecore/templates/model/Class/getGenFeature.TODO.override.javajetinc
@@ -13,6 +13,82 @@
}
<%}%>
return <%=UML2GenModelUtil.getImportedOperationsClassName(opClass)%>.<%=genOperation.getName()%>(this);
+ <%} else if (UML2GenModelUtil.getImplementedUnionGenFeatures(genClass).contains(genFeature)) {%>
+ <%if (genFeature.isListType()) {%>
+ <%if (UML2GenModelUtil.isDerivedUnionListType(genClass, genFeature)) {%>
+ <%if (UML2GenModelUtil.isCacheAdapterSupport(genModel) && UML2GenModelUtil.isCached(genFeature)) {%>
+ <%=genModel.getImportedName("org.eclipse.uml2.common.util.CacheAdapter")%> cache = getCacheAdapter();
+ if (cache != null) {
+ <%=genModel.getImportedName("org.eclipse.emf.ecore.resource.Resource")%> eResource = eResource();
+ <%=genFeature.getImportedType()%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType()%>) cache.get(eResource, this, <%=genFeature.getQualifiedFeatureAccessor()%>);
+ if (<%=genFeature.getSafeName()%> == null)
+ {
+ cache.put(eResource, this, <%=genFeature.getQualifiedFeatureAccessor()%>, <%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>);
+ }
+ return <%=genFeature.getSafeName()%>;
+ }
+ <%}%>
+ return new <%=genClass.getListConstructor(genFeature)%>;
+ <%} else {%>
+ <%if (UML2GenModelUtil.isCacheAdapterSupport(genModel) && UML2GenModelUtil.isCached(genFeature)) {%>
+ <%=genModel.getImportedName("org.eclipse.uml2.common.util.CacheAdapter")%> cache = getCacheAdapter();
+ if (cache != null) {
+ <%if (UML2GenModelUtil.isDuplicate(genFeature) && !UML2GenModelUtil.isRedefinition(genFeature)) {%>
+ try
+ {
+ <%=genModel.getImportedName("java.lang.reflect.Method")%> method = getClass().getMethod("<%=genFeature.getGetAccessor()%>", null);<%=genModel.getNonNLS()%>
+ <%=genFeature.getImportedType()%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType()%>) cache.get(eResource(), this, method);
+ if (<%=genFeature.getSafeName()%> == null)
+ {
+ <%=genModel.getImportedName("java.util.List")%> union = <%=genFeature.getGetAccessor()%>Helper(new <%=genModel.getImportedName("org.eclipse.emf.common.util.UniqueEList")%>.FastCompare());
+ cache.put(eResource(), this, method, <%=genFeature.getSafeName()%> = new <%=genModel.getImportedName("org.eclipse.uml2.common.util.UnionEObjectEList")%>(this, <%if (UML2GenModelUtil.isDuplicate(genFeature) && !UML2GenModelUtil.isRedefinition(genFeature)) {%>null<%} else {%><%=genFeature.getQualifiedFeatureAccessor()%><%}%>, union.size(), union.toArray()));
+ }
+ return <%=genFeature.getSafeName()%>;
+ }
+ catch (<%=genModel.getImportedName("java.lang.NoSuchMethodException")%> nsme)
+ {
+ // ignore
+ }
+ <%} else {%>
+ <%=genFeature.getImportedType()%> <%=genFeature.getSafeName()%> = (<%=genFeature.getImportedType()%>) cache.get(eResource(), this, <%=genFeature.getQualifiedFeatureAccessor()%>);
+ if (<%=genFeature.getSafeName()%> == null)
+ {
+ <%=genModel.getImportedName("java.util.List")%> union = <%=genFeature.getGetAccessor()%>Helper(new <%=genModel.getImportedName("org.eclipse.emf.common.util.UniqueEList")%>.FastCompare());
+ cache.put(eResource(), this, <%=genFeature.getQualifiedFeatureAccessor()%>, <%=genFeature.getSafeName()%> = new <%=genModel.getImportedName("org.eclipse.uml2.common.util.UnionEObjectEList")%>(this, <%if (UML2GenModelUtil.isDuplicate(genFeature) && !UML2GenModelUtil.isRedefinition(genFeature)) {%>null<%} else {%><%=genFeature.getQualifiedFeatureAccessor()%><%}%>, union.size(), union.toArray()));
+ }
+ return <%=genFeature.getSafeName()%>;
+ <%}%>
+ }
+ <%}%>
+ <%=genModel.getImportedName("java.util.List")%> union = <%=genFeature.getGetAccessor()%>Helper(new <%=genModel.getImportedName("org.eclipse.emf.common.util.UniqueEList")%>.FastCompare());
+ return new <%=genModel.getImportedName("org.eclipse.uml2.common.util.UnionEObjectEList")%>(this, <%if (UML2GenModelUtil.isDuplicate(genFeature) && !UML2GenModelUtil.isRedefinition(genFeature)) {%>null<%} else {%><%=genFeature.getQualifiedFeatureAccessor()%><%}%>, union.size(), union.toArray());
+ <%}%>
+ <%} else {%>
+ <%for (Iterator j = UML2GenModelUtil.getSubsetGenFeatures(genClass, genFeature).iterator(); j.hasNext();) { GenFeature subsetGenFeature = (GenFeature) j.next();%>
+ <%if (!genClass.getExtendedGenFeatures().contains(subsetGenFeature)) {%>
+ <%if (subsetGenFeature.isIsSet() || UML2GenModelUtil.isUnion(subsetGenFeature) || UML2GenModelUtil.isRedefinition(subsetGenFeature) || UML2GenModelUtil.isRedefined(genClass, subsetGenFeature)) {%>
+ if (isSet<%=subsetGenFeature.getAccessorName()%>())
+ {
+ return <%=subsetGenFeature.getGetAccessor()%>();
+ }
+ <%} else {%>
+ <%if (genClass.isField(subsetGenFeature) && !subsetGenFeature.isBasicGet()) {%>
+ if (eIsSet(<%=genClass.getQualifiedFeatureID(subsetGenFeature)%>))
+ {
+ return <%=subsetGenFeature.getGetAccessor()%>();
+ }
+ <%} else {%>
+ <%=subsetGenFeature.getImportedType()%> <%=subsetGenFeature.getSafeName()%> = <%=subsetGenFeature.getGetAccessor()%>();
+ if (<%=subsetGenFeature.getSafeName()%> != null)
+ {
+ return <%=subsetGenFeature.getSafeName()%>;
+ }
+ <%}%>
+ <%}%>
+ <%}%>
+ <%}%>
+ return <%if (genClass.getExtendedGenFeatures().contains(genFeature)) {%>super.<%=genFeature.getGetAccessor()%>()<%} else {%>null<%}%>;
+ <%}%>
<%} else {%>
// TODO: implement this method to return the '<%=genFeature.getFormattedName()%>' <%=genFeature.getFeatureKind()%>
// Ensure that you remove @generated or mark it @generated NOT

Back to the top