Stephan Herrmann | 0166441 | 2010-04-01 20:28:43 +0000 | [diff] [blame] | 1 | <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 http://www.eclipse.org/legal/epl-v10.html" /> |
| 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 | – <b>team</b> class (<img src="../images/team_obj.gif">).<br> |
| 22 | – <b>role</b> class (<img src="../images/role_obj.png">).<br> |
| 23 | – 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 | – <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 | — <em>has a <code class="keyword">playedBy</code> declaration.</em> |
| 28 | <br> |
| 29 | – <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 | – <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 | – <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 | – <b>callout</b>: (<img src="../images/calloutbinding_obj.gif">) |
| 39 | </li> |
| 40 | <li><u>guard predicates:</u><br> |
| 41 | – <b>regular guard</b> (<img src="../images/guard_obj.gif">)<br> |
| 42 | – <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->General->Appearance->Label Decorations->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;"> </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"> |
| 79 | |
| 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> |
| 101 | |
| 102 | </body> |
| 103 | </html> |