| <html> |
| <head> |
| <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 http://www.eclipse.org/legal/epl-v10.html" /> |
| <link rel=stylesheet type="text/css" href="../css/book.css"> |
| <link rel=stylesheet type="text/css" href="otguide.css"> |
| <title>Object Teams Package Explorer</title> |
| <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
| </head> |
| <body> |
| <h1>Object Teams Package Explorer</h1> |
| <p> |
| The <b>Object Teams package explorer</b> provides the following features |
| (in addition to the features of the standard JDT |
| <a href="PLUGINS_ROOT/org.eclipse.jdt.doc.user/reference/views/ref-view-package-explorer.htm"> |
| package explorer view</a>):<br> |
| <ul> |
| <li>Showing the <b>Object Teams element hierarchy</b> of the Object Teams projects in the |
| workbench including |
| <ul> |
| <li><u>specific classes:</u><br /> |
| – <b>team</b> class (<img src="../images/team_obj.gif">).<br> |
| – <b>role</b> class (<img src="../images/role_obj.png">).<br> |
| – a <b>nested team</b> (<img src="../images/team_role_obj.gif">) is a role as well as a team. |
| </li> |
| <li><u>role class decorations:</u><br> |
| – <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>) |
| — <em>has a <code class="keyword">playedBy</code> declaration.</em> |
| <br> |
| – <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>) |
| — <em>overrides a role from the super team</em><br> |
| <li><u>methods:</u><br /> |
| – <b>callin</b> methods are marked with a decoration <img src="../images/callinmethod_co.gif">. |
| </li> |
| <li><u>method bindings:</u><br /> |
| – <b>callin</b>: before(<img src="../images/callinbindingbefore_obj.gif">), |
| after (<img src="../images/callinbindingafter_obj.gif">), replace (<img src="../images/callinbindingreplace_obj.gif">) |
| <br /> |
| – <b>callout</b>: (<img src="../images/calloutbinding_obj.gif">) |
| </li> |
| <li><u>guard predicates:</u><br> |
| – <b>regular guard</b> (<img src="../images/guard_obj.gif">)<br> |
| – <b>base guard</b> (<img src="../images/baseguard_obj.gif">)<br> |
| </ul> |
| <li>Displaying <b>Role Files</b> physically/logically (<img src="../images/external_roles.gif">): |
| <ul> |
| <li><b>Physical</b> display uses the file and directory structure, i.e., |
| role files will appear in a special folder/package representing the enclosing team.</li> |
| <li><b>Logical</b> display presents role files and inline roles uniformly as direct |
| children of their enclosing team.</li> |
| </ul> |
| <li><b>Overlay icons</b> for <b>compilations units</b> (team or role file) |
| and <b>packages</b> (team package) can be enabled by checking |
| <span class="ui">Preferences->General->Appearance->Label Decorations->Java Type Indicator</span>. |
| <ul> |
| <li><u>compilation unit:</u><br> |
| – 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> |
| – 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 |
| <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> |
| <li><u>package:</u><br> |
| – 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>) |
| </ul> |
| </ul> |
| </p> |
| <table> |
| <tr><td> |
| <p><u><b>Physical view:</b></u><br> |
| role file <code>FlightBonusDialog</code> is displayed as |
| a child of its team package. |
| </p> |
| <img src="images/screenshots/packageExplorer.png" |
| alt="Object Teams package explorer view"> |
| </td><td><span style="width=20px;"> </span></td><td> |
| <p><u><b>Logical view:</b></u><br> |
| role <code>FlightBonusDialog</code> is displayed as |
| a child of its enclosing team class. |
| </p> |
| <img src="images/screenshots/packageExplorer_logical.png" |
| alt="Object Teams package explorer logical view"> |
| |
| </td></tr></table> |
| <h2>Aspect bindings in Object Teams Plug-in projects</h2> |
| <p> |
| If an Object Teams Plug-in project has |
| <a href="../reference/extension-points/org_eclipse_objectteams_otequinox_aspectBindings.html">aspect bindings</a> |
| these will be displayed in the package explorer directly under the project's root: |
| </p><p> |
| <img src="images/screenshots/AspectBindingsInPackageExplorer.png" title="Package explorer showing aspect bindings"/> |
| </p><p> |
| 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> |
| 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/> |
| Base plug-ins to which <strong>forced exports</strong> are applied are decorated with a little up-and-left arrow: |
| </p><p> |
| <img alt="Decoration for base plug-in with forced export" src="images/screenshots/ForcedExports.png"> |
| </p><p> |
| Double clicking a base plugin or a team shows the corresponding element in an editor: |
| <ul> |
| <li>a base plugin as sub-element of an aspectBinding extension in the PDE's extension editor.</li> |
| <li>a team class in the source code editor</li> |
| </ul> |
| </p> |
| |
| </body> |
| </html> |