diff options
author | Ed Willink | 2017-02-27 09:10:56 +0000 |
---|---|---|
committer | Ed Willink | 2017-02-28 17:49:09 +0000 |
commit | 998688228b43b2cd72e36da362cc1043ea1a676d (patch) | |
tree | 38a40b00b002c923b870660f17d10ef398c9c25f | |
parent | b340e97ef81578771d7deffdf964b78605f366f5 (diff) | |
download | org.eclipse.qvtd-998688228b43b2cd72e36da362cc1043ea1a676d.tar.gz org.eclipse.qvtd-998688228b43b2cd72e36da362cc1043ea1a676d.tar.xz org.eclipse.qvtd-998688228b43b2cd72e36da362cc1043ea1a676d.zip |
[unrelated] Improve TemplateExp/Relation hovertext
12 files changed, 205 insertions, 27 deletions
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationPrettyPrintVisitor.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationPrettyPrintVisitor.java index ca05f557c..25bccee9b 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationPrettyPrintVisitor.java +++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationPrettyPrintVisitor.java @@ -14,7 +14,10 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.ocl.pivot.OCLExpression; +import org.eclipse.ocl.pivot.Type; +import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.internal.prettyprint.PrettyPrinter; +import org.eclipse.qvtd.pivot.qvtbase.Domain; import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern; import org.eclipse.qvtd.pivot.qvtrelation.Key; import org.eclipse.qvtd.pivot.qvtrelation.Relation; @@ -61,7 +64,27 @@ public class QVTrelationPrettyPrintVisitor extends QVTtemplatePrettyPrintVisitor @Override public Object visitRelation(@NonNull Relation object) { - return super.visitRule(object); + context.appendName(object); + context.push("(", ""); + String prefix = null; + for (Domain domain : object.getDomain()) { + for (Variable variable : ((RelationDomain)domain).getRootVariable()) { + if (prefix != null) { + context.next(null, prefix, " "); + } + context.appendName(variable); + Type type = variable.getType(); + if (type != null) { + context.append(" : "); + context.appendQualifiedType(type); + context.appendTypedMultiplicity(variable); + } + prefix = ","; + } + } + context.next("", ")", ""); + context.pop(); + return null; } @Override diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/PropertyTemplateItem.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/PropertyTemplateItem.java index 9522ae758..d79cf71a0 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/PropertyTemplateItem.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/PropertyTemplateItem.java @@ -15,6 +15,7 @@ import org.eclipse.emf.common.util.DiagnosticChain; import org.eclipse.ocl.pivot.Element; import org.eclipse.ocl.pivot.OCLExpression; import org.eclipse.ocl.pivot.Property; +import org.eclipse.ocl.pivot.ReferringElement; /** * <!-- begin-user-doc --> @@ -36,7 +37,7 @@ import org.eclipse.ocl.pivot.Property; * @model * @generated */ -public interface PropertyTemplateItem extends Element { +public interface PropertyTemplateItem extends Element, ReferringElement { /** * Returns the value of the '<em><b>Obj Container</b></em>' container reference. * It is bidirectional and its opposite is '{@link org.eclipse.qvtd.pivot.qvttemplate.ObjectTemplateExp#getPart <em>Part</em>}'. diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplatePackage.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplatePackage.java index 40314ff94..42b2260a9 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplatePackage.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplatePackage.java @@ -246,13 +246,22 @@ public interface QVTtemplatePackage extends EPackage { int TEMPLATE_EXP___VALIDATE_TYPE_IS_NOT_NULL__DIAGNOSTICCHAIN_MAP = PivotPackage.LITERAL_EXP___VALIDATE_TYPE_IS_NOT_NULL__DIAGNOSTICCHAIN_MAP; /** + * The operation id for the '<em>Get Referred Element</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TEMPLATE_EXP___GET_REFERRED_ELEMENT = PivotPackage.LITERAL_EXP_OPERATION_COUNT + 0; + + /** * The operation id for the '<em>Validate Where Is Boolean</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int TEMPLATE_EXP___VALIDATE_WHERE_IS_BOOLEAN__DIAGNOSTICCHAIN_MAP = PivotPackage.LITERAL_EXP_OPERATION_COUNT + 0; + int TEMPLATE_EXP___VALIDATE_WHERE_IS_BOOLEAN__DIAGNOSTICCHAIN_MAP = PivotPackage.LITERAL_EXP_OPERATION_COUNT + 1; /** * The number of operations of the '<em>Template Exp</em>' class. @@ -261,7 +270,7 @@ public interface QVTtemplatePackage extends EPackage { * @generated * @ordered */ - int TEMPLATE_EXP_OPERATION_COUNT = PivotPackage.LITERAL_EXP_OPERATION_COUNT + 1; + int TEMPLATE_EXP_OPERATION_COUNT = PivotPackage.LITERAL_EXP_OPERATION_COUNT + 2; /** * The meta object id for the '{@link org.eclipse.qvtd.pivot.qvttemplate.impl.CollectionTemplateExpImpl <em>Collection Template Exp</em>}' class. @@ -463,6 +472,15 @@ public interface QVTtemplatePackage extends EPackage { int COLLECTION_TEMPLATE_EXP___VALIDATE_TYPE_IS_NOT_NULL__DIAGNOSTICCHAIN_MAP = TEMPLATE_EXP___VALIDATE_TYPE_IS_NOT_NULL__DIAGNOSTICCHAIN_MAP; /** + * The operation id for the '<em>Get Referred Element</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COLLECTION_TEMPLATE_EXP___GET_REFERRED_ELEMENT = TEMPLATE_EXP___GET_REFERRED_ELEMENT; + + /** * The operation id for the '<em>Validate Where Is Boolean</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -698,6 +716,15 @@ public interface QVTtemplatePackage extends EPackage { int OBJECT_TEMPLATE_EXP___VALIDATE_TYPE_IS_NOT_NULL__DIAGNOSTICCHAIN_MAP = TEMPLATE_EXP___VALIDATE_TYPE_IS_NOT_NULL__DIAGNOSTICCHAIN_MAP; /** + * The operation id for the '<em>Get Referred Element</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int OBJECT_TEMPLATE_EXP___GET_REFERRED_ELEMENT = TEMPLATE_EXP___GET_REFERRED_ELEMENT; + + /** * The operation id for the '<em>Validate Where Is Boolean</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -853,13 +880,22 @@ public interface QVTtemplatePackage extends EPackage { int PROPERTY_TEMPLATE_ITEM___GET_VALUE__TYPE_STRING = PivotPackage.ELEMENT___GET_VALUE__TYPE_STRING; /** + * The operation id for the '<em>Get Referred Element</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PROPERTY_TEMPLATE_ITEM___GET_REFERRED_ELEMENT = PivotPackage.ELEMENT_OPERATION_COUNT + 0; + + /** * The operation id for the '<em>Validate Compatible Class For Property</em>' operation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_CLASS_FOR_PROPERTY__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 0; + int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_CLASS_FOR_PROPERTY__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 1; /** * The operation id for the '<em>Validate Compatible Type For Object Value</em>' operation. @@ -868,7 +904,7 @@ public interface QVTtemplatePackage extends EPackage { * @generated * @ordered */ - int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_TYPE_FOR_OBJECT_VALUE__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 1; + int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_TYPE_FOR_OBJECT_VALUE__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 2; /** * The operation id for the '<em>Validate Compatible Type For Collection Element Value</em>' operation. @@ -877,7 +913,7 @@ public interface QVTtemplatePackage extends EPackage { * @generated * @ordered */ - int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_TYPE_FOR_COLLECTION_ELEMENT_VALUE__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 2; + int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_TYPE_FOR_COLLECTION_ELEMENT_VALUE__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 3; /** * The operation id for the '<em>Validate Compatible Type For Collection Value</em>' operation. @@ -886,7 +922,7 @@ public interface QVTtemplatePackage extends EPackage { * @generated * @ordered */ - int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_TYPE_FOR_COLLECTION_VALUE__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 3; + int PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_TYPE_FOR_COLLECTION_VALUE__DIAGNOSTICCHAIN_MAP = PivotPackage.ELEMENT_OPERATION_COUNT + 4; /** * The number of operations of the '<em>Property Template Item</em>' class. @@ -895,7 +931,7 @@ public interface QVTtemplatePackage extends EPackage { * @generated * @ordered */ - int PROPERTY_TEMPLATE_ITEM_OPERATION_COUNT = PivotPackage.ELEMENT_OPERATION_COUNT + 4; + int PROPERTY_TEMPLATE_ITEM_OPERATION_COUNT = PivotPackage.ELEMENT_OPERATION_COUNT + 5; /** diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplateTables.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplateTables.java index 6db268f8e..2d5416fff 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplateTables.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/QVTtemplateTables.java @@ -164,6 +164,7 @@ public class QVTtemplateTables private static final @NonNull ExecutorFragment _CollectionTemplateExp__OCLExpression = new ExecutorFragment(Types._CollectionTemplateExp, PivotTables.Types._OCLExpression); private static final @NonNull ExecutorFragment _CollectionTemplateExp__OclAny = new ExecutorFragment(Types._CollectionTemplateExp, OCLstdlibTables.Types._OclAny); private static final @NonNull ExecutorFragment _CollectionTemplateExp__OclElement = new ExecutorFragment(Types._CollectionTemplateExp, OCLstdlibTables.Types._OclElement); + private static final @NonNull ExecutorFragment _CollectionTemplateExp__ReferringElement = new ExecutorFragment(Types._CollectionTemplateExp, PivotTables.Types._ReferringElement); private static final @NonNull ExecutorFragment _CollectionTemplateExp__TemplateExp = new ExecutorFragment(Types._CollectionTemplateExp, QVTtemplateTables.Types._TemplateExp); private static final @NonNull ExecutorFragment _CollectionTemplateExp__TypedElement = new ExecutorFragment(Types._CollectionTemplateExp, PivotTables.Types._TypedElement); private static final @NonNull ExecutorFragment _CollectionTemplateExp__Visitable = new ExecutorFragment(Types._CollectionTemplateExp, PivotTables.Types._Visitable); @@ -176,6 +177,7 @@ public class QVTtemplateTables private static final @NonNull ExecutorFragment _ObjectTemplateExp__ObjectTemplateExp = new ExecutorFragment(Types._ObjectTemplateExp, QVTtemplateTables.Types._ObjectTemplateExp); private static final @NonNull ExecutorFragment _ObjectTemplateExp__OclAny = new ExecutorFragment(Types._ObjectTemplateExp, OCLstdlibTables.Types._OclAny); private static final @NonNull ExecutorFragment _ObjectTemplateExp__OclElement = new ExecutorFragment(Types._ObjectTemplateExp, OCLstdlibTables.Types._OclElement); + private static final @NonNull ExecutorFragment _ObjectTemplateExp__ReferringElement = new ExecutorFragment(Types._ObjectTemplateExp, PivotTables.Types._ReferringElement); private static final @NonNull ExecutorFragment _ObjectTemplateExp__TemplateExp = new ExecutorFragment(Types._ObjectTemplateExp, QVTtemplateTables.Types._TemplateExp); private static final @NonNull ExecutorFragment _ObjectTemplateExp__TypedElement = new ExecutorFragment(Types._ObjectTemplateExp, PivotTables.Types._TypedElement); private static final @NonNull ExecutorFragment _ObjectTemplateExp__Visitable = new ExecutorFragment(Types._ObjectTemplateExp, PivotTables.Types._Visitable); @@ -184,6 +186,7 @@ public class QVTtemplateTables private static final @NonNull ExecutorFragment _PropertyTemplateItem__OclAny = new ExecutorFragment(Types._PropertyTemplateItem, OCLstdlibTables.Types._OclAny); private static final @NonNull ExecutorFragment _PropertyTemplateItem__OclElement = new ExecutorFragment(Types._PropertyTemplateItem, OCLstdlibTables.Types._OclElement); private static final @NonNull ExecutorFragment _PropertyTemplateItem__PropertyTemplateItem = new ExecutorFragment(Types._PropertyTemplateItem, QVTtemplateTables.Types._PropertyTemplateItem); + private static final @NonNull ExecutorFragment _PropertyTemplateItem__ReferringElement = new ExecutorFragment(Types._PropertyTemplateItem, PivotTables.Types._ReferringElement); private static final @NonNull ExecutorFragment _PropertyTemplateItem__Visitable = new ExecutorFragment(Types._PropertyTemplateItem, PivotTables.Types._Visitable); private static final @NonNull ExecutorFragment _TemplateExp__Element = new ExecutorFragment(Types._TemplateExp, PivotTables.Types._Element); @@ -193,6 +196,7 @@ public class QVTtemplateTables private static final @NonNull ExecutorFragment _TemplateExp__OCLExpression = new ExecutorFragment(Types._TemplateExp, PivotTables.Types._OCLExpression); private static final @NonNull ExecutorFragment _TemplateExp__OclAny = new ExecutorFragment(Types._TemplateExp, OCLstdlibTables.Types._OclAny); private static final @NonNull ExecutorFragment _TemplateExp__OclElement = new ExecutorFragment(Types._TemplateExp, OCLstdlibTables.Types._OclElement); + private static final @NonNull ExecutorFragment _TemplateExp__ReferringElement = new ExecutorFragment(Types._TemplateExp, PivotTables.Types._ReferringElement); private static final @NonNull ExecutorFragment _TemplateExp__TemplateExp = new ExecutorFragment(Types._TemplateExp, QVTtemplateTables.Types._TemplateExp); private static final @NonNull ExecutorFragment _TemplateExp__TypedElement = new ExecutorFragment(Types._TemplateExp, PivotTables.Types._TypedElement); private static final @NonNull ExecutorFragment _TemplateExp__Visitable = new ExecutorFragment(Types._TemplateExp, PivotTables.Types._Visitable); @@ -306,6 +310,7 @@ public class QVTtemplateTables Fragments._CollectionTemplateExp__OclAny /* 0 */, Fragments._CollectionTemplateExp__OclElement /* 1 */, Fragments._CollectionTemplateExp__Nameable /* 2 */, + Fragments._CollectionTemplateExp__ReferringElement /* 2 */, Fragments._CollectionTemplateExp__Visitable /* 2 */, Fragments._CollectionTemplateExp__Element /* 3 */, Fragments._CollectionTemplateExp__NamedElement /* 4 */, @@ -315,13 +320,14 @@ public class QVTtemplateTables Fragments._CollectionTemplateExp__TemplateExp /* 8 */, Fragments._CollectionTemplateExp__CollectionTemplateExp /* 9 */ }; - private static final int @NonNull [] __CollectionTemplateExp = { 1,1,2,1,1,1,1,1,1,1 }; + private static final int @NonNull [] __CollectionTemplateExp = { 1,1,3,1,1,1,1,1,1,1 }; private static final @NonNull ExecutorFragment @NonNull [] _ObjectTemplateExp = { Fragments._ObjectTemplateExp__OclAny /* 0 */, Fragments._ObjectTemplateExp__OclElement /* 1 */, Fragments._ObjectTemplateExp__Nameable /* 2 */, + Fragments._ObjectTemplateExp__ReferringElement /* 2 */, Fragments._ObjectTemplateExp__Visitable /* 2 */, Fragments._ObjectTemplateExp__Element /* 3 */, Fragments._ObjectTemplateExp__NamedElement /* 4 */, @@ -331,23 +337,25 @@ public class QVTtemplateTables Fragments._ObjectTemplateExp__TemplateExp /* 8 */, Fragments._ObjectTemplateExp__ObjectTemplateExp /* 9 */ }; - private static final int @NonNull [] __ObjectTemplateExp = { 1,1,2,1,1,1,1,1,1,1 }; + private static final int @NonNull [] __ObjectTemplateExp = { 1,1,3,1,1,1,1,1,1,1 }; private static final @NonNull ExecutorFragment @NonNull [] _PropertyTemplateItem = { Fragments._PropertyTemplateItem__OclAny /* 0 */, Fragments._PropertyTemplateItem__OclElement /* 1 */, + Fragments._PropertyTemplateItem__ReferringElement /* 2 */, Fragments._PropertyTemplateItem__Visitable /* 2 */, Fragments._PropertyTemplateItem__Element /* 3 */, Fragments._PropertyTemplateItem__PropertyTemplateItem /* 4 */ }; - private static final int @NonNull [] __PropertyTemplateItem = { 1,1,1,1,1 }; + private static final int @NonNull [] __PropertyTemplateItem = { 1,1,2,1,1 }; private static final @NonNull ExecutorFragment @NonNull [] _TemplateExp = { Fragments._TemplateExp__OclAny /* 0 */, Fragments._TemplateExp__OclElement /* 1 */, Fragments._TemplateExp__Nameable /* 2 */, + Fragments._TemplateExp__ReferringElement /* 2 */, Fragments._TemplateExp__Visitable /* 2 */, Fragments._TemplateExp__Element /* 3 */, Fragments._TemplateExp__NamedElement /* 4 */, @@ -356,7 +364,7 @@ public class QVTtemplateTables Fragments._TemplateExp__LiteralExp /* 7 */, Fragments._TemplateExp__TemplateExp /* 8 */ }; - private static final int @NonNull [] __TemplateExp = { 1,1,2,1,1,1,1,1,1 }; + private static final int @NonNull [] __TemplateExp = { 1,1,3,1,1,1,1,1,1 }; /** * Install the fragment descriptors in the class descriptors. @@ -423,6 +431,9 @@ public class QVTtemplateTables OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */, OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */ }; + private static final @NonNull ExecutorOperation @NonNull [] _CollectionTemplateExp__ReferringElement = { + PivotTables.Operations._ReferringElement__getReferredElement /* getReferredElement() */ + }; private static final @NonNull ExecutorOperation @NonNull [] _CollectionTemplateExp__TemplateExp = {}; private static final @NonNull ExecutorOperation @NonNull [] _CollectionTemplateExp__TypedElement = { PivotTables.Operations._TypedElement__CompatibleBody /* CompatibleBody(ValueSpecification[1]) */ @@ -467,6 +478,9 @@ public class QVTtemplateTables OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */, OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */ }; + private static final @NonNull ExecutorOperation @NonNull [] _ObjectTemplateExp__ReferringElement = { + PivotTables.Operations._ReferringElement__getReferredElement /* getReferredElement() */ + }; private static final @NonNull ExecutorOperation @NonNull [] _ObjectTemplateExp__TemplateExp = {}; private static final @NonNull ExecutorOperation @NonNull [] _ObjectTemplateExp__TypedElement = { PivotTables.Operations._TypedElement__CompatibleBody /* CompatibleBody(ValueSpecification[1]) */ @@ -504,6 +518,9 @@ public class QVTtemplateTables OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */, OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */ }; + private static final @NonNull ExecutorOperation @NonNull [] _PropertyTemplateItem__ReferringElement = { + PivotTables.Operations._ReferringElement__getReferredElement /* getReferredElement() */ + }; private static final @NonNull ExecutorOperation @NonNull [] _PropertyTemplateItem__Visitable = {}; private static final @NonNull ExecutorOperation @NonNull [] _TemplateExp__TemplateExp = {}; @@ -544,6 +561,9 @@ public class QVTtemplateTables OCLstdlibTables.Operations._OclElement__oclModelType /* oclModelType() */, OCLstdlibTables.Operations._OclElement__oclModelTypes /* oclModelTypes() */ }; + private static final @NonNull ExecutorOperation @NonNull [] _TemplateExp__ReferringElement = { + PivotTables.Operations._ReferringElement__getReferredElement /* getReferredElement() */ + }; private static final @NonNull ExecutorOperation @NonNull [] _TemplateExp__TypedElement = { PivotTables.Operations._TypedElement__CompatibleBody /* CompatibleBody(ValueSpecification[1]) */ }; @@ -561,6 +581,7 @@ public class QVTtemplateTables Fragments._CollectionTemplateExp__OCLExpression.initOperations(_CollectionTemplateExp__OCLExpression); Fragments._CollectionTemplateExp__OclAny.initOperations(_CollectionTemplateExp__OclAny); Fragments._CollectionTemplateExp__OclElement.initOperations(_CollectionTemplateExp__OclElement); + Fragments._CollectionTemplateExp__ReferringElement.initOperations(_CollectionTemplateExp__ReferringElement); Fragments._CollectionTemplateExp__TemplateExp.initOperations(_CollectionTemplateExp__TemplateExp); Fragments._CollectionTemplateExp__TypedElement.initOperations(_CollectionTemplateExp__TypedElement); Fragments._CollectionTemplateExp__Visitable.initOperations(_CollectionTemplateExp__Visitable); @@ -573,6 +594,7 @@ public class QVTtemplateTables Fragments._ObjectTemplateExp__ObjectTemplateExp.initOperations(_ObjectTemplateExp__ObjectTemplateExp); Fragments._ObjectTemplateExp__OclAny.initOperations(_ObjectTemplateExp__OclAny); Fragments._ObjectTemplateExp__OclElement.initOperations(_ObjectTemplateExp__OclElement); + Fragments._ObjectTemplateExp__ReferringElement.initOperations(_ObjectTemplateExp__ReferringElement); Fragments._ObjectTemplateExp__TemplateExp.initOperations(_ObjectTemplateExp__TemplateExp); Fragments._ObjectTemplateExp__TypedElement.initOperations(_ObjectTemplateExp__TypedElement); Fragments._ObjectTemplateExp__Visitable.initOperations(_ObjectTemplateExp__Visitable); @@ -581,6 +603,7 @@ public class QVTtemplateTables Fragments._PropertyTemplateItem__OclAny.initOperations(_PropertyTemplateItem__OclAny); Fragments._PropertyTemplateItem__OclElement.initOperations(_PropertyTemplateItem__OclElement); Fragments._PropertyTemplateItem__PropertyTemplateItem.initOperations(_PropertyTemplateItem__PropertyTemplateItem); + Fragments._PropertyTemplateItem__ReferringElement.initOperations(_PropertyTemplateItem__ReferringElement); Fragments._PropertyTemplateItem__Visitable.initOperations(_PropertyTemplateItem__Visitable); Fragments._TemplateExp__Element.initOperations(_TemplateExp__Element); @@ -590,6 +613,7 @@ public class QVTtemplateTables Fragments._TemplateExp__OCLExpression.initOperations(_TemplateExp__OCLExpression); Fragments._TemplateExp__OclAny.initOperations(_TemplateExp__OclAny); Fragments._TemplateExp__OclElement.initOperations(_TemplateExp__OclElement); + Fragments._TemplateExp__ReferringElement.initOperations(_TemplateExp__ReferringElement); Fragments._TemplateExp__TemplateExp.initOperations(_TemplateExp__TemplateExp); Fragments._TemplateExp__TypedElement.initOperations(_TemplateExp__TypedElement); Fragments._TemplateExp__Visitable.initOperations(_TemplateExp__Visitable); diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/TemplateExp.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/TemplateExp.java index 4ac3d750f..968bf0327 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/TemplateExp.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/TemplateExp.java @@ -14,6 +14,7 @@ import java.util.Map; import org.eclipse.emf.common.util.DiagnosticChain; import org.eclipse.ocl.pivot.LiteralExp; import org.eclipse.ocl.pivot.OCLExpression; +import org.eclipse.ocl.pivot.ReferringElement; import org.eclipse.ocl.pivot.Variable; /** @@ -33,7 +34,7 @@ import org.eclipse.ocl.pivot.Variable; * @model abstract="true" * @generated */ -public interface TemplateExp extends LiteralExp { +public interface TemplateExp extends LiteralExp, ReferringElement { /** * Returns the value of the '<em><b>Binds To</b></em>' reference. * <!-- begin-user-doc --> diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/PropertyTemplateItemImpl.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/PropertyTemplateItemImpl.java index b4aa64c1c..cfc340a8a 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/PropertyTemplateItemImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/PropertyTemplateItemImpl.java @@ -23,8 +23,11 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.ocl.pivot.CollectionType; +import org.eclipse.ocl.pivot.Element; import org.eclipse.ocl.pivot.OCLExpression; +import org.eclipse.ocl.pivot.PivotPackage; import org.eclipse.ocl.pivot.Property; +import org.eclipse.ocl.pivot.ReferringElement; import org.eclipse.ocl.pivot.ids.TypeId; import org.eclipse.ocl.pivot.internal.ElementImpl; import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; @@ -1041,6 +1044,22 @@ public class PropertyTemplateItemImpl extends ElementImpl implements PropertyTem * @generated */ @Override + public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) { + if (baseClass == ReferringElement.class) { + switch (baseOperationID) { + case PivotPackage.REFERRING_ELEMENT___GET_REFERRED_ELEMENT: return QVTtemplatePackage.PROPERTY_TEMPLATE_ITEM___GET_REFERRED_ELEMENT; + default: return -1; + } + } + return super.eDerivedOperationID(baseOperationID, baseClass); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override @SuppressWarnings("unchecked") public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException { switch (operationID) { @@ -1052,6 +1071,8 @@ public class PropertyTemplateItemImpl extends ElementImpl implements PropertyTem return validateCompatibleTypeForCollectionElementValue((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1)); case QVTtemplatePackage.PROPERTY_TEMPLATE_ITEM___VALIDATE_COMPATIBLE_TYPE_FOR_COLLECTION_VALUE__DIAGNOSTICCHAIN_MAP: return validateCompatibleTypeForCollectionValue((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1)); + case QVTtemplatePackage.PROPERTY_TEMPLATE_ITEM___GET_REFERRED_ELEMENT: + return getReferredElement(); } return super.eInvoke(operationID, arguments); } @@ -1066,4 +1087,9 @@ public class PropertyTemplateItemImpl extends ElementImpl implements PropertyTem public <R> R accept(@NonNull Visitor<R> visitor) { return (R) ((QVTtemplateVisitor<?>)visitor).visitPropertyTemplateItem(this); } + + @Override + public Element getReferredElement() { + return getReferredProperty(); + } } //PropertyTemplateItemImpl diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/QVTtemplatePackageImpl.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/QVTtemplatePackageImpl.java index eb5bc5f86..61ecc0915 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/QVTtemplatePackageImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/QVTtemplatePackageImpl.java @@ -491,7 +491,9 @@ public class QVTtemplatePackageImpl extends EPackageImpl implements QVTtemplateP collectionTemplateExpEClass.getESuperTypes().add(this.getTemplateExp()); objectTemplateExpEClass.getESuperTypes().add(this.getTemplateExp()); propertyTemplateItemEClass.getESuperTypes().add(thePivotPackage.getElement()); + propertyTemplateItemEClass.getESuperTypes().add(thePivotPackage.getReferringElement()); templateExpEClass.getESuperTypes().add(thePivotPackage.getLiteralExp()); + templateExpEClass.getESuperTypes().add(thePivotPackage.getReferringElement()); // Initialize classes, features, and operations; add parameters initEClass(collectionTemplateExpEClass, CollectionTemplateExp.class, "CollectionTemplateExp", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/TemplateExpImpl.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/TemplateExpImpl.java index 7ef6d28bd..25c91aff9 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/TemplateExpImpl.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/impl/TemplateExpImpl.java @@ -21,7 +21,10 @@ import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.ocl.pivot.Element; import org.eclipse.ocl.pivot.OCLExpression; +import org.eclipse.ocl.pivot.PivotPackage; +import org.eclipse.ocl.pivot.ReferringElement; import org.eclipse.ocl.pivot.Variable; import org.eclipse.ocl.pivot.ids.TypeId; import org.eclipse.ocl.pivot.internal.LiteralExpImpl; @@ -320,12 +323,35 @@ public abstract class TemplateExpImpl extends LiteralExpImpl implements Template * @generated */ @Override + public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) { + if (baseClass == ReferringElement.class) { + switch (baseOperationID) { + case PivotPackage.REFERRING_ELEMENT___GET_REFERRED_ELEMENT: return QVTtemplatePackage.TEMPLATE_EXP___GET_REFERRED_ELEMENT; + default: return -1; + } + } + return super.eDerivedOperationID(baseOperationID, baseClass); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override @SuppressWarnings("unchecked") public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException { switch (operationID) { case QVTtemplatePackage.TEMPLATE_EXP___VALIDATE_WHERE_IS_BOOLEAN__DIAGNOSTICCHAIN_MAP: return validateWhereIsBoolean((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1)); + case QVTtemplatePackage.TEMPLATE_EXP___GET_REFERRED_ELEMENT: + return getReferredElement(); } return super.eInvoke(operationID, arguments); } + + @Override + public Element getReferredElement() { + return getBindsTo(); + } } //TemplateExpImpl diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java index f7b58c31b..b4baf4abd 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateAdapterFactory.java @@ -19,6 +19,7 @@ import org.eclipse.ocl.pivot.Element; import org.eclipse.ocl.pivot.LiteralExp; import org.eclipse.ocl.pivot.NamedElement; import org.eclipse.ocl.pivot.OCLExpression; +import org.eclipse.ocl.pivot.ReferringElement; import org.eclipse.ocl.pivot.TypedElement; import org.eclipse.ocl.pivot.util.Visitable; import org.eclipse.ocl.pivot.utilities.Nameable; @@ -129,6 +130,10 @@ public class QVTtemplateAdapterFactory extends AdapterFactoryImpl { return createLiteralExpAdapter(); } @Override + public Adapter caseReferringElement(ReferringElement object) { + return createReferringElementAdapter(); + } + @Override public Adapter defaultCase(EObject object) { return createEObjectAdapter(); } @@ -303,6 +308,20 @@ public class QVTtemplateAdapterFactory extends AdapterFactoryImpl { } /** + * Creates a new adapter for an object of class '{@link org.eclipse.ocl.pivot.ReferringElement <em>Referring Element</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see org.eclipse.ocl.pivot.ReferringElement + * @generated + */ + public Adapter createReferringElementAdapter() { + return null; + } + + /** * Creates a new adapter for the default case. * <!-- begin-user-doc --> * This default implementation returns null. diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateSwitch.java b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateSwitch.java index b8f036ec1..e51da81f1 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateSwitch.java +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/emf-gen/org/eclipse/qvtd/pivot/qvttemplate/util/QVTtemplateSwitch.java @@ -18,6 +18,7 @@ import org.eclipse.ocl.pivot.Element; import org.eclipse.ocl.pivot.LiteralExp; import org.eclipse.ocl.pivot.NamedElement; import org.eclipse.ocl.pivot.OCLExpression; +import org.eclipse.ocl.pivot.ReferringElement; import org.eclipse.ocl.pivot.TypedElement; import org.eclipse.ocl.pivot.util.Visitable; import org.eclipse.ocl.pivot.utilities.Nameable; @@ -89,6 +90,7 @@ public class QVTtemplateSwitch<@Nullable T> extends Switch<T> { T result = caseCollectionTemplateExp(collectionTemplateExp); if (result == null) result = caseTemplateExp(collectionTemplateExp); if (result == null) result = caseLiteralExp(collectionTemplateExp); + if (result == null) result = caseReferringElement(collectionTemplateExp); if (result == null) result = caseOCLExpression(collectionTemplateExp); if (result == null) result = caseTypedElement(collectionTemplateExp); if (result == null) result = caseNamedElement(collectionTemplateExp); @@ -103,6 +105,7 @@ public class QVTtemplateSwitch<@Nullable T> extends Switch<T> { T result = caseObjectTemplateExp(objectTemplateExp); if (result == null) result = caseTemplateExp(objectTemplateExp); if (result == null) result = caseLiteralExp(objectTemplateExp); + if (result == null) result = caseReferringElement(objectTemplateExp); if (result == null) result = caseOCLExpression(objectTemplateExp); if (result == null) result = caseTypedElement(objectTemplateExp); if (result == null) result = caseNamedElement(objectTemplateExp); @@ -116,6 +119,7 @@ public class QVTtemplateSwitch<@Nullable T> extends Switch<T> { PropertyTemplateItem propertyTemplateItem = (PropertyTemplateItem)theEObject; T result = casePropertyTemplateItem(propertyTemplateItem); if (result == null) result = caseElement(propertyTemplateItem); + if (result == null) result = caseReferringElement(propertyTemplateItem); if (result == null) result = caseVisitable(propertyTemplateItem); if (result == null) result = defaultCase(theEObject); return result; @@ -124,6 +128,7 @@ public class QVTtemplateSwitch<@Nullable T> extends Switch<T> { TemplateExp templateExp = (TemplateExp)theEObject; T result = caseTemplateExp(templateExp); if (result == null) result = caseLiteralExp(templateExp); + if (result == null) result = caseReferringElement(templateExp); if (result == null) result = caseOCLExpression(templateExp); if (result == null) result = caseTypedElement(templateExp); if (result == null) result = caseNamedElement(templateExp); @@ -303,6 +308,21 @@ public class QVTtemplateSwitch<@Nullable T> extends Switch<T> { } /** + * Returns the result of interpreting the object as an instance of '<em>Referring Element</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Referring Element</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReferringElement(ReferringElement object) { + return null; + } + + /** * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. * <!-- begin-user-doc --> * This implementation returns null; diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore b/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore index 3fbd29a0a..55888385c 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore @@ -109,7 +109,7 @@ name="referredClass" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Class"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvttemplate-PropertyTemplateItem" - name="PropertyTemplateItem" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element"> + name="PropertyTemplateItem" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ReferringElement"> <eOperations name="validateCompatibleClassForProperty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> <details key="originalName" value="CompatibleClassForProperty"/> @@ -198,7 +198,7 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvttemplate-TemplateExp" name="TemplateExp" - abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-LiteralExp"> + abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-LiteralExp ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ReferringElement"> <eOperations name="validateWhereIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> <details key="originalName" value="WhereIsBoolean"/> diff --git a/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplateStructural.ecore b/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplateStructural.ecore index 94c29f89a..c043b78c9 100644 --- a/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplateStructural.ecore +++ b/plugins/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplateStructural.ecore @@ -5,16 +5,16 @@ <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTTemplate.CollectionTemplateExp" name="CollectionTemplateExp" eSuperTypes="#QVTTemplate.TemplateExp"> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.CollectionTemplateExp.member" - name="member" ordered="false" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//OCLExpression" + name="member" ordered="false" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression" containment="true"> <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> <details key="body" value="listContainer"/> </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.CollectionTemplateExp.referredCollectionType" - name="referredCollectionType" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//CollectionType"/> + name="referredCollectionType" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-CollectionType"/> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.CollectionTemplateExp.rest" - name="rest" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Variable"> + name="rest" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Variable"> <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> <details key="body" value="matchingExp"/> </eAnnotations> @@ -26,39 +26,39 @@ name="part" ordered="false" upperBound="-1" eType="#QVTTemplate.PropertyTemplateItem" containment="true" eOpposite="#QVTTemplate.PropertyTemplateItem.objContainer"/> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.ObjectTemplateExp.referredClass" - name="referredClass" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Class"/> + name="referredClass" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Class"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTTemplate.PropertyTemplateItem" - name="PropertyTemplateItem" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Element"> + name="PropertyTemplateItem" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ReferringElement"> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.PropertyTemplateItem.objContainer" name="objContainer" lowerBound="1" eType="#QVTTemplate.ObjectTemplateExp" transient="true" eOpposite="#QVTTemplate.ObjectTemplateExp.part"/> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.PropertyTemplateItem.referredProperty" - name="referredProperty" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Property"> + name="referredProperty" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Property"> <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> <details key="body" value="propertyItem"/> </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.PropertyTemplateItem.value" - name="value" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//OCLExpression" + name="value" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression" containment="true"> <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> <details key="body" value="propertyItem"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOpposite" eType="ecore:EDataType ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Boolean" + <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOpposite" eType="ecore:EDataType ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Boolean" defaultValueLiteral="false"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTTemplate.TemplateExp" name="TemplateExp" - abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#//LiteralExp"> + abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-LiteralExp ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ReferringElement"> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.TemplateExp.bindsTo" - name="bindsTo" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//Variable"> + name="bindsTo" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Variable"> <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> <details key="body" value="templateExp"/> </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTTemplate.TemplateExp.where" - name="where" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#//OCLExpression" + name="where" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression" containment="true"> <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> <details key="body" value="owner"/> |