<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>)
	    &mdash;&nbsp;(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>
