| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE html |
| PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html lang="en-us" xml:lang="en-us"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <meta name="copyright" content="(C) Copyright Eclipse contributors 2005, 2006" /> |
| <meta name="DC.rights.owner" content="(C) Copyright Eclipse contributors 2005, 2006" /> |
| <meta name="security" content="public" /> |
| <meta name="Robots" content="index,follow" /> |
| <meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' /> |
| <meta name="DC.Type" content="concept" /> |
| <meta name="DC.Title" content="Extends" /> |
| <meta name="DC.Relation" scheme="URI" content="variability.html#variability" /> |
| <meta name="DC.Relation" scheme="URI" content="replace.html#replaces" /> |
| <meta name="DC.Relation" scheme="URI" content="contributes.html#contributes" /> |
| <meta name="DC.Format" content="XHTML" /> |
| <meta name="DC.Identifier" content="extends" /> |
| <meta name="DC.Language" content="en-us" /> |
| <!-- |
| Copyright (c) 2005, 2006 IBM Corporation and others. |
| All rights reserved. This program and the accompanying materials |
| are made available under the terms of the Eclipse Public License v1.0 |
| which accompanies this distribution, and is available at |
| http://www.eclipse.org/legal/epl-v10.html |
| Contributors: |
| IBM Corporation - initial implementation |
| --> |
| <link rel="stylesheet" type="text/css" href="./ibmdita.css" /> |
| <title>Extends</title> |
| </head> |
| <body id="extends"><a name="extends"><!-- --></a> |
| |
| <h1 class="topictitle1">Extends</h1> |
| <div><p>An extending element inherits characteristics of the base element. Extension |
| allows Method Plug-ins to easily reuse elements from a base plug-in by providing |
| a kind of inheritance for the extending element. Attribute values and association |
| instances are inherited from the "based-on" element to the extending element. |
| The result is that the extending element has the same properties as the "based-on" |
| element, but might define its own additions. Extends is not used to modify |
| content of the base plug-in, but to provide the ability for the extending |
| plug-in to define its own content which is a variant of content already defined. |
| For example, a special version of a generic Review Record for a specific type |
| of review. The effect of this is that the base element and any number of extending |
| elements can be used side by side, but refer to each other through the extends |
| relationship. Extends also provides the key mechanism for binding capability |
| patterns to processes: A pattern is applied by defining an extends relationship |
| from an activity of the applying processes to the capability pattern. The |
| activity inherits association instances from the pattern and the pattern appears |
| to be part of the resulting process after interpretation.</p> |
| <p>Use the Content Variability section on the Description tab to make an element |
| extend another element. Select <strong>Extends</strong> as the Variability Type, and |
| then select the base element which this element extends. The base element |
| must be the same type of element as the extending element.</p> |
| <p>Any information you enter in the extending element is added to the base |
| element in creating an additional element. Text fields in the extending element |
| are added at the end of the respective text fields in the base element.</p> |
| <p>Extends only defines inheritance for the extending element. The base remains |
| untouched. If the extending element is allowed an association to only one |
| other element and has such an element defined itself, inheritance will not |
| override this association.</p> |
| <div class="p"><strong>Extends rules:</strong><ul><li>Attribute values of the base element are inherited to the extending element |
| if the extending element has not defined its own values.</li> |
| <li>Outgoing to-many associations of the base element are inherited to the |
| extending element.</li> |
| <li>Outgoing to-one associations are only inherited if the extending element |
| does not define its own to-one association.</li> |
| <li>Extends works transitively, i.e. if an extending element is extended itself, |
| the second extension inherits from its direct and indirect base elements.</li> |
| <li>Contribution precedes Extends, i.e. contribution is evaluated first and |
| then extending elements inherit afterwards from the base element (including |
| all of its contribution).</li> |
| <li>Replace precedes Extends, i.e. if a base element has a replace and extends |
| relationship, the extending element inherits from the replacing element.</li> |
| </ul> |
| See <a href="variabilityassociations.html#variabilityassociations">Variability Associations</a> for more information on the associations for each element |
| type.</div> |
| </div> |
| <div><div class="relconcepts"><strong>Related concepts</strong><br /> |
| <div><a href="variability.html#variability" title="Variability allows elements in one content package to influence or modify elements in other content packages without actually directly modifying the original content. Variability enables changes to the content while keeping the changes separate and optional.">Variability</a></div> |
| <div><a href="replace.html#replaces">Replaces</a></div> |
| <div><a href="contributes.html#contributes">Contributes</a></div> |
| </div> |
| </div> |
| </body> |
| </html> |