blob: 5aa4656c42a57b73c8a699a6f3d0ac74977cdcf7 [file] [log] [blame]
Stephan Herrmann01664412010-04-01 20:28:43 +00001<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 <title>Refactoring Object Teams programs</title>
6 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7 </head>
8 <body>
9 <h1>Refactoring Object Teams programs</h1>
Stephan Herrmann7736a712010-07-01 16:47:30 +000010 Significant work has been put into supporting the automated refactoring of OT/J code.
11 The following refactorings take into account the Object Teams-specific
12 relationships (implicit role inheritance, team nesting, role-base bindings and method
13 bindings).
14 <ul>
15 <li><b>Extract Method</b></li>
16 <li><b>Move Method</b></li>
17 <li><b>Pull Up</b> applicable to method or field</li>
18 <li><b>Push Down</b> applicable to method or field</li>
19 <li><b>Rename</b> applicable to: project, source folder, package, type, method, field.<br/>
20 <i>When trying to rename a team package you'll be asked to rename the team class instead.</i></li>
21 </ul>
22 Additionally, specific refactorings for OT/J are being developed. Currently these are implemented:
23 <ul>
Stephan Herrmann7f8ca0d2013-06-03 22:32:53 +020024 <li><b>Extract Callin</b><br/>
25 Extract a block of code in a given base method into a role method plus the necessary callin binding.</li>
26 <li><b>Inline Callin</b><br/>
27 Inverse of the above, merge a callin-bound role method into the bound base method.</li>
28 <li><b>Move to Role File</b><br/>
29 Move an in-line role into its own role file <a href="otjld/def/s1.html#s1.2.5"><img src="../images/ot_paragraph.png"> 1.2.5</a></li>
Stephan Herrmann7736a712010-07-01 16:47:30 +000030 </ul>
Stephan Herrmann01664412010-04-01 20:28:43 +000031 </body>
32</html>