| <html> |
| <head> |
| <meta name="copyright" content="Copyright Technical University Berlin and others 2004, 2011. 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 Editor</title> |
| <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
| </head> |
| <body> |
| <h1 align="center">Binding Editor</a></h1> |
| The binding editor provides a tabular visualization of all bindings (playedBy, callout, callin) of a given team class. |
| After selecting a team class the binding editor can be invoked using <span class="ui"><img src="../images/calloutbinding_obj.gif">Open Binding Editor</span> from the context menu. |
| <h2>Visualization</h2> |
| The top half of the binding editor consists of three columns: <b>role</b>, <b>binding kind</b>, <b>base</b>. |
| All elements nested in a team or role class can be collapsed/expanded as in other structural views. |
| <img alt="Binding Editor" src="images/screenshots/BindingEditor_FlightBonus.png"> |
| <h2>Editing</h2> |
| Bindings can be edited at three levels: <b>types</b>, <b>methods</b>, <b>parameters</b>. |
| Especially, when creating the "Connector" in the <a href="http://wiki.eclipse.org/OTPattern/Connector">Connector Pattern</a>, |
| the binding editor may be all you need, i.e., the full connector definition can be generated using the binding editor |
| with no need to edit source code in the Java editor. |
| <h3>Adding playedBy bindings</h3> |
| When clicking <span class="ui">Add Type Binding</span> you are presented with a twofold type selection dialog. |
| <p> |
| <img alt="Add Type Binding" src="images/screenshots/BindingEditor_AddTypeBinding.png"/> |
| </p> |
| On the left hand side select one of the role types inherited from the super team, |
| on the right hand side select the base class you wish to bind to the role using <code class="keyword">playedBy</code>. |
| When clicking <span class="ui">OK</span> this information will be used for creating a new role class |
| overriding the selected role from the super team and bound to the selected base class. |
| <h3>Adding method bindings</h3> |
| Method bindings are created in the lower half of the binding editor. |
| <p> |
| For creating a <b>callout</b> binding between an existing role method and a base method |
| simply select both methods from the respective lists of Role Methods / Base Methods, |
| also select <span class="ui">-></span> between both lists and click <span class="ui">Apply</span>.<br/> |
| If the selected role method is not abstract, select <span class="ui">=></span> for an overriding callout.</br> |
| For creating a callout binding without an existing role method select <span class="ui"><img src="images/add_correction.gif"> 'New Method()</span> |
| from the left list. |
| </p> |
| <p> |
| For creating a <b>callin</b> binding simply select both methods from the respective lists of Role Methods / Base Methods, |
| also select one of the callin kinds <span class="ui"><- before</span>, <span class="ui"><- replace</span>, or <span class="ui"><- after</span> |
| between both lists and then click <span class="ui">Apply</span>.<br/> |
| </p> |
| <h3>Adding parameter mappings</h3> |
| For creating a parameter mapping first select the method binding, then switch to the tab <span class="ui">Parameter Mapping Configuration</span>. |
| <p> |
| <img alt="Create Parameter Mapping" src="images/screenshots/BindingEditor_ParameterMappings.png"/> |
| </p> |
| Depending on the binding direction enter details in the fields showing either <span class="ui"><-</span> or <span class="ui">-></span> |
| between them. |
| On the target side (where the arrow is pointing to) select one of the declared parameters, on the other side enter a |
| Java expression that can be resolved in the given scope. Don't forget to create each individual parameter mapping using <span class="ui">Apply</span>. |
| <hr/> |
| <p> |
| When closing the binding editor using <span class="ui">OK</span> all pending changes will be generated into the appropriate source file. |
| </p> |
| </body> |
| </html> |