blob: 5c41bb4e004a76479b58864f4f6e4b4ede6b15d8 [file] [log] [blame]
<?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="Contributes" />
<meta name="DC.Relation" scheme="URI" content="variability.html#variability" />
<meta name="DC.Relation" scheme="URI" content="extends.html#extends" />
<meta name="DC.Relation" scheme="URI" content="replace.html#replaces" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="contributes" />
<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>Contributes</title>
</head>
<body id="contributes"><a name="contributes"><!-- --></a>
<h1 class="topictitle1">Contributes</h1>
<div><p>A contributing element adds to the base element. Contributes provides a
way for elements to contribute their properties into their base element without
directly changing any of its existing properties, such as in an additive fashion.
The effect, after contribution, is that the base element is logically replaced
with an element that combines the attributes and associations of the contributing
element with the base element.</p>
<p>Use the Content Variability section on the Description tab to make an element
contribute to another element. Select <strong>Contributes</strong> as the Variability
type and then select the base element to which this element will contribute.
The base element must be the same type of element as the contributing element.</p>
<p>Any information you enter in the contributing element is added to the base
element. Text fields in the contributing element are added at the end of the
respective text fields in the base element.</p>
<p>Contribution only adds attributes and associations to the base. It never
overrides or replaces any information from the base. In other words, if the
base is allowed an association to exactly one other element and has this one
already defined, it is not being replaced by a contributor's association.</p>
<div class="p"><strong>Contribution rules:</strong><ul><li>Attributes are appended except for identifying/naming attributes and non-string
attributes such as boolean, date, etc.</li>
<li>Outgoing to-one associations of the contributor are ignored if the base
already has such an association or if the base element has more than one contributing
element (i.e. it cannot be decided which contribution should be chose, then
none will be chosen).</li>
<li>Outgoing to-many associations are added to the base elements of a contribution.</li>
<li>Incoming associations to the contributing element with a to-one constraint
on the other association end are ignored if the base already has such an incoming
association or if there is more than one contribution to consider for the
base element.</li>
<li>Other incoming associations to the contributing element are added to the
base elements of a contribution.</li>
<li>A base element of a contribution can have more than one contributor</li>
<li>Contribution works transitively, i.e. a contribution element contributes
its own contributors.</li>
</ul>
See <a href="variabilityassociations.html#variabilityassociations">Variability Associations</a> to find 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="extends.html#extends">Extends</a></div>
<div><a href="replace.html#replaces">Replaces</a></div>
</div>
</div>
</body>
</html>