blob: c99aeaf05fd358378b64a0ccd796d820ea6e8b94 [file] [log] [blame]
<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>