| <div id="maincontent"> |
| <div id="midcolumn"> |
| <h1>Structural Primitives</h1> |
| |
| <p> |
| Structural primitives create or delete metamodel elements. |
| </p> |
| |
| |
| <h2 id="copyFeature">Copy Feature</h2> |
| <p> |
| In the metamodel, a feature is copied, giving it a new name. In the model, the values are copied, accordingly. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>feature</tt>: The feature to be copied</li> |
| <li><tt>name</tt>: The name of the copy</li> |
| </ul> |
| </p> |
| |
| |
| |
| <h2 id="newAttribute">Create Attribute</h2> |
| <p> |
| In the metamodel, a new attribute is created. Nothing is changed in the model. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>eClass</tt>: The class in which the attribute is created</li> |
| <li><tt>name</tt>: The name of the new attribute</li> |
| <li><tt>type</tt>: The type of the new attribute</li> |
| <li><tt>lowerBound</tt>: The lower bound of the new attribute</li> |
| <li><tt>upperBound</tt>: The upper bound of the new reference</li> |
| <li><tt>defaultValue</tt>: The default value literal</li> |
| </ul> |
| </p> |
| |
| |
| |
| <h2 id="newClass">Create Class</h2> |
| <p> |
| In the metamodel, a new class is created. Nothing is changed in the model. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>ePackage</tt>: The package in which the class is created</li> |
| <li><tt>name</tt>: The name of the new class</li> |
| <li><tt>superClasses</tt>: The super classes of the new class</li> |
| <li><tt>abstr</tt>: Whether the class is abstract</li> |
| </ul> |
| </p> |
| |
| |
| |
| <h2 id="createEnumeration">Create Enumeration</h2> |
| <p> |
| In the metamodel, an enumeration is created. In the model, nothing needs to be changed. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>ePackage</tt>: The package in which the enumeration is created</li> |
| <li><tt>name</tt>: The name of the new enumeration</li> |
| <li><tt>literals</tt>: The names of the literals of the new enumeration</li> |
| </ul> |
| </p> |
| |
| |
| |
| <h2 id="newGMFConstraint">Create GMF Constraint</h2> |
| <p> |
| In the metamodel, a new constraint is introduced. Nothing is changed in the model. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>element</tt>: The metamodel element to be annotated</li> |
| <li><tt>ocl</tt>: The OCL expression of the constraint</li> |
| <li><tt>description</tt>: The description of the constraint</li> |
| </ul> |
| </p> |
| |
| <p> |
| <h5>Constraints:</h5> |
| <ul> |
| <li>The element must not be an annotation.</li> |
| </ul> |
| </p> |
| |
| |
| <h2 id="newOppositeReference">Create Opposite Reference</h2> |
| <p> |
| In the metamodel, an opposite is created for a reference. In the model, the opposite direction needs to be set. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>reference</tt>: The reference for which the opposite is created</li> |
| <li><tt>name</tt>: The name of the opposite reference</li> |
| <li><tt>lowerBound</tt>: The lower bound of the opposite reference</li> |
| <li><tt>upperBound</tt>: The upper bound of the opposite reference</li> |
| <li><tt>changeable</tt>: Whether the opposite reference is changeable</li> |
| </ul> |
| </p> |
| |
| <p> |
| <h5>Constraints:</h5> |
| <ul> |
| <li>In case of a cross reference, the upper bound of the opposite reference must be -1.</li> |
| <li>The reference must not already have an opposite</li> |
| <li>In case of a containment reference, the upper bound of the opposite reference must be 1.</li> |
| </ul> |
| </p> |
| |
| |
| <h2 id="newReference">Create Reference</h2> |
| <p> |
| In the metamodel, a new reference is created. Nothing is changed in the model. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>eClass</tt>: The class in which the reference is created</li> |
| <li><tt>name</tt>: The name of the new reference</li> |
| <li><tt>type</tt>: The type of the new reference</li> |
| <li><tt>lowerBound</tt>: The lower bound of the new reference</li> |
| <li><tt>upperBound</tt>: The upper bound of the new reference</li> |
| <li><tt>containment</tt>: Whether the new reference is a containment reference</li> |
| <li><tt>opposite</tt>: The opposite reference of the new reference</li> |
| </ul> |
| </p> |
| |
| |
| |
| <h2 id="deleteClass">Delete Class</h2> |
| <p> |
| In the metamodel, a class that is no longer used is deleted. In the model, nothing is changed. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>eClass</tt>: The class to be deleted</li> |
| </ul> |
| </p> |
| |
| <p> |
| <h5>Constraints:</h5> |
| <ul> |
| <li>The class must not be the target of a reference</li> |
| <li>The class must not have sub classes</li> |
| <li>The class must not have super classes</li> |
| </ul> |
| </p> |
| |
| |
| |
| <h2 id="deleteFeature2">Delete Feature</h2> |
| <p> |
| In the metamodel, a feature is deleted. In the model, its values are deleted, too. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>feature</tt>: The feature to be deleted</li> |
| </ul> |
| </p> |
| |
| |
| |
| <h2 id="deleteOppositeReference">Delete Opposite Reference</h2> |
| <p> |
| In the metamodel, the opposite of a reference is deleted. In the model, its values are deleted, too. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>reference</tt>: The reference whose opposite should be deleted</li> |
| </ul> |
| </p> |
| |
| <p> |
| <h5>Constraints:</h5> |
| <ul> |
| <li>The reference needs to define an opposite</li> |
| </ul> |
| </p> |
| |
| |
| <h2 id="deletePackage">Delete Package</h2> |
| <p> |
| In the metamodel, an empty package is deleted. |
| </p> |
| |
| <p><h5>Parameters:</h5> |
| <ul> |
| <li><tt>ePackage</tt>: The package to be deleted</li> |
| </ul> |
| </p> |
| |
| <p> |
| <h5>Constraints:</h5> |
| <ul> |
| <li>The package must not contain classifiers</li> |
| <li>The package must not contain subpackages</li> |
| </ul> |
| </p> |
| |
| |
| |
| |
| </div> |
| |
| <div id="rightcolumn"> |
| <div class="sideitem"> |
| <h6>Contents</h6> |
| <ul> |
| <li><a href="org.eclipse.emf.edapt.declaration.creation.StructuralPrimitives.php">Structural Primitives</a></li> |
| <ul> |
| <li><a href="#copyFeature">Copy Feature</a></li> |
| <li><a href="#newAttribute">Create Attribute</a></li> |
| <li><a href="#newClass">Create Class</a></li> |
| <li><a href="#createEnumeration">Create Enumeration</a></li> |
| <li><a href="#newGMFConstraint">Create GMF Constraint</a></li> |
| <li><a href="#newOppositeReference">Create Opposite Reference</a></li> |
| <li><a href="#newReference">Create Reference</a></li> |
| <li><a href="#deleteClass">Delete Class</a></li> |
| <li><a href="#deleteFeature2">Delete Feature</a></li> |
| <li><a href="#deleteOppositeReference">Delete Opposite Reference</a></li> |
| <li><a href="#deletePackage">Delete Package</a></li> |
| </ul> |
| <li><a href="org.eclipse.emf.edapt.declaration.simple.NonStructuralPrimitives.php">Non-structural Primitives</a></li> |
| <li><a href="org.eclipse.emf.edapt.declaration.generalization.GeneralizationOperations.php">Generalization / Specialization Operations</a></li> |
| <li><a href="org.eclipse.emf.edapt.declaration.inheritance.InheritanceOperations.php">Inheritance Operations</a></li> |
| <li><a href="org.eclipse.emf.edapt.declaration.delegation.DelegationOperations.php">Delegation Operations</a></li> |
| <li><a href="org.eclipse.emf.edapt.declaration.replacement.ReplacementOperations.php">Replacement Operations</a></li> |
| <li><a href="org.eclipse.emf.edapt.declaration.merge.MergeOperations.php">Merge Operations</a></li> |
| </ul> |
| </div> |
| </div> |
| |
| </div> |