| <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="otjld/css/ot.css"> |
| <link rel=stylesheet type="text/css" href="otguide.css"> |
| <style type="text/css"> |
| body { margin:10px; } |
| .high { background-color:#a5b7bd;color:white; } |
| .low { background-color:#fff0c8; padding:2px; } |
| .caption { text-decoration:underline; vertical-align:top;position:relative;top:20px; margin-top:10px;} |
| </style> |
| <title>Binding markers</title> |
| <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
| </head> |
| <body> |
| <h1>Binding markers</h1> |
| <p><b>Binding</b> <a href="PLUGINS_ROOT/org.eclipse.platform.doc.user/concepts/concepts-11.htm"> |
| markers</a> are OT/J specific annotations on the vertical ruler (marker bar) left of the |
| extended <a href="editor.html">Java Editor</a>. These markers come in three flavors: |
| <ul> |
| <li>A <b>playedBy marker</b> <img src="../images/playedBy_obj.gif"> signals that one or more roles is bound |
| to the current class using <code class="keyword">playedBy</code> (<a href="otjld/def/s2.html#s2.1"><img src="../images/ot_paragraph.png"> 2.1</a>).</li> |
| <li>A <b>callin marker</b> <img src="../images/callinbinding_obj.gif"> signals that one or more callin bindings |
| (<a href="otjld/def/s4.html#s4"><img src="../images/ot_paragraph.png"> 4</a>) affect the given base method. |
| <li>A <b>callout marker</b> <img src="../images/callout_marker.gif"> signals that one or more callout bindings (<a href="otjld/def/s3.html#s3"><img src="../images/ot_paragraph.png"> 3</a>) |
| affect the given base method <b>and</b> that these callout bindings apply decapsulation |
| (<a href="otjld/def/s3.html#s3.4"><img src="../images/ot_paragraph.png"> 3.4</a>) |
| — (callout bindings <em>without</em> decapsulation are ranked like regular method calls |
| and thus not considered relevant for marking in the ruler). |
| </ul> |
| <table> |
| <tr><td class="caption">PlayedBy and callin markers</td> |
| <td><img src="images/screenshots/callinmarkers.png" |
| alt="Callin marker annotation in vertical ruler (marker bar)"> |
| </tr> |
| <tr><td class="caption">Callout decapsulation marker</td> |
| <td><img src="images/screenshots/calloutmarker.png" |
| alt="Callout decapsulation marker annotation in vertical ruler (marker bar)"> |
| </tr> |
| </table> |
| <p> |
| Aside from raising awareness of these bindings, the markers can also be used to directly |
| navigate to the corresponding role or callin/callout binding. |
| When right clicking on a binding marker a pop-up menu will open which contains |
| a corresponding submenu <span class="ui">OT/J bound roles</span>, or <span class="ui">OT/J callin bindings</span>, or <span class="ui">OT/J callout decapsulation</span>. |
| This submenu in turn holds all bindings relevant at the current position, |
| sorted by teams. |
| </p> |
| <table> |
| <tr><td class="caption">PlayedBy marker menu |
| <td><img src="images/screenshots/callinmarker-menu.png" |
| alt="PlayedBy marker menu"> |
| </tr> |
| <tr><td class="caption">Callin marker menu |
| <td><img src="images/screenshots/callinmarker-menu3.png" |
| alt="Callin marker menu"> |
| </tr> |
| </table> |
| <p> |
| Binding markers are enabled/disabled globally on the <span class="ui">Object Teams</span> preference page.<br> |
| Detailed configuration is possible via <span class="ui">Window->Preferences->General->Editors->Text Editors->Annotations</span> |
| </p> |
| <p> |
| Whenever the same base method is affected by multiple callin bindings of the same kind (before, replace or after), |
| the compiler will add a warning marker. This should help to prevent situations where different callin bindings |
| could potentiall interfere with each other. |
| </p> |
| <table> |
| <tr><td class="caption">Multiple-callins marker |
| <td><img src="images/screenshots/NN21/MultipleCallins.png" |
| alt="Warning marker for multiple callin bindings"> |
| </tr> |
| </table> </body> |
| </html> |