blob: ccfe173c5cbbd85060d687125a83f12a4decaff9 [file] [log] [blame]
Stephan Herrmann01664412010-04-01 20:28:43 +00001<html>
2 <head>
3 <meta name="copyright" content="Copyright Technical University Berlin and others 2004, 2010. This page is made available under the Eclipse Public License v1.0. For full details see" />
4 <link rel=stylesheet type="text/css" href="../css/book.css">
5 <link rel=stylesheet type="text/css" href="otguide.css">
6 <title>Object Teams Package Explorer</title>
7 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
8 </head>
9 <body>
10 <h1>Object Teams Package Explorer</h1>
11 <p>
12 The <b>Object Teams package explorer</b> provides the following features
13 (in addition to the features of the standard JDT
14 <a href="/help/topic/org.eclipse.jdt.doc.user/reference/ref-view-package-explorer.htm">
15 package explorer view</a>):<br>
16 <ul>
17 <li>Showing the <b>Object Teams element hierarchy</b> of the Object Teams projects in the
18 workbench including
19 <ul>
20 <li><u>specific classes:</u><br />
21 &ndash; <b>team</b> class (<img src="../images/team_obj.gif">).<br>
22 &ndash; <b>role</b> class (<img src="../images/role_obj.png">).<br>
23 &ndash; a <b>nested team</b> (<img src="../images/team_role_obj.gif">) is a role as well as a team.
24 </li>
25 <li><u>role class decorations:</u><br>
26 &ndash; <b>bound role</b> class (<span><img style="position:relative;left:0px;" src="../images/role_obj.png"><img style="position:relative;left:-2px;top:-4px;" src="../images/boundrole_co.gif"></span>)
27 &mdash; <em>has a <code class="keyword">playedBy</code> declaration.</em>
28 <br>
29 &ndash; <b>overriding role</b> class (<span><img style="position:relative;left:0px;" src="../images/role_obj.png"><img style="position:relative;left:-2px;top:4px;" src="../images/over_co_ovr16.gif"></span>)
30 &mdash <em>overrides a role from the super team</em><br>
31 <li><u>methods:</u><br />
32 &ndash; <b>callin</b> methods are marked with a decoration <img src="../images/callinmethod_co.gif">.
33 </li>
34 <li><u>method bindings:</u><br />
35 &ndash; <b>callin</b>: before(<img src="../images/callinbindingbefore_obj.gif">),
36 after (<img src="../images/callinbindingafter_obj.gif">), replace (<img src="../images/callinbindingreplace_obj.gif">)
37 <br />
38 &ndash; <b>callout</b>: (<img src="../images/calloutbinding_obj.gif">)
39 </li>
40 <li><u>guard predicates:</u><br>
41 &ndash; <b>regular guard</b> (<img src="../images/guard_obj.gif">)<br>
42 &ndash; <b>base guard</b> (<img src="../images/baseguard_obj.gif">)<br>
43 </ul>
44 <li>Displaying <b>Role Files</b> physically/logically (<img src="../images/external_roles.gif">):
45 <ul>
46 <li><b>Physical</b> display uses the file and directory structure, i.e.,
47 role files will appear in a special folder/package representing the enclosing team.</li>
48 <li><b>Logical</b> display presents role files and inline roles uniformly as direct
49 children of their enclosing team.</li>
50 </ul>
51 <li><b>Overlay icons</b> for <b>compilations units</b> (team or role file)
52 and <b>packages</b> (team package) can be enabled by checking
53 <span class="ui">Preferences-&gt;General-&gt;Appearance-&gt;Label Decorations-&gt;Java Type Indicator</span>.
54 <ul>
55 <li><u>compilation unit:</u><br>
56 &ndash holding a team class (<span><img style="position:relative;left:0px;" src="../images/jcu_obj.gif"><img style="position:relative;left:-7px;top:-5px;" src="../images/team_ovr.gif"></span>)<br>
57 &ndash holding a role class (<span><img style="position:relative;left:0px;" src="../images/jcu_obj.gif"><img style="position:relative;left:-7px;top:-5px;" src="../images/role_ovr.png"></span> or
58 <span><img style="position:relative;left:0px;" src="../images/jcu_obj.gif"><img style="position:relative;left:-7px;top:-5px;" src="../images/team_role_ovr.gif"></span>)</li>
59 <li><u>package:</u><br>
60 &ndash team package (<span><img style="position:relative;left:0px;" src="../images/package.gif"><img style="position:relative;left:-7px;top:-5px;" src="../images/team_ovr.gif"></span>)
61 </ul>
62 </ul>
63 </p>
64 <table>
65 <tr><td>
66 <p><u><b>Physical view:</b></u><br>
67 role file <code>FlightBonusDialog</code> is displayed as
68 a child of its team package.
69 </p>
70 <img src="images/screenshots/packageExplorer.png"
71 alt="Object Teams package explorer view">
72 </td><td><span style="width=20px;">&nbsp;</span></td><td>
73 <p><u><b>Logical view:</b></u><br>
74 role <code>FlightBonusDialog</code> is displayed as
75 a child of its enclosing team class.
76 </p>
77 <img src="images/screenshots/packageExplorer_logical.png"
78 alt="Object Teams package explorer logical view">
80 </td></tr></table>
81 <h2>Aspect bindings in Object Teams Plug-in projects</h2>
82 <p>
83 If an Object Teams Plug-in project has
84 <a href="../reference/extension-points/org_objectteams_otequinox_aspectBindings.html">aspect bindings</a>
85 these will be displayed in the package explorer directly under the project's root:
86 </p><p>
87 <img src="images/screenshots/AspectBindingsInPackageExplorer.png" title="Package explorer showing aspect bindings"/>
88 </p><p>
89 Below the node called <span class="ui">OT/Equinox Aspect Bindings</span> you will find the list of all <img src="../images/plugin_obj.gif"/> <strong>base plug-ins</strong>
90 adapted by the given OT plug-in. Each base plug-in in turn lists all <img src="../images/team_obj.gif"/> <strong>teams</strong> that implement this adaptation.<br/>
91 Base plug-ins to which <strong>forced exports</strong> are applied are decorated with a little up-and-left arrow:
92 </p><p>
93 <img alt="Decoration for base plug-in with forced export" src="images/screenshots/ForcedExports.png">
94 </p><p>
95 Double clicking a base plugin or a team shows the corresponding element in an editor:
96 <ul>
97 <li>a base plugin as sub-element of an aspectBinding extension in the PDE's extension editor.</li>
98 <li>a team class in the source code editor</li>
99 </ul>
100 </p>
102 </body>