blob: 5aa4656c42a57b73c8a699a6f3d0ac74977cdcf7 [file] [log] [blame]
<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">
<title>Refactoring Object Teams programs</title>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h1>Refactoring Object Teams programs</h1>
Significant work has been put into supporting the automated refactoring of OT/J code.
The following refactorings take into account the Object Teams-specific
relationships (implicit role inheritance, team nesting, role-base bindings and method
bindings).
<ul>
<li><b>Extract Method</b></li>
<li><b>Move Method</b></li>
<li><b>Pull Up</b> applicable to method or field</li>
<li><b>Push Down</b> applicable to method or field</li>
<li><b>Rename</b> applicable to: project, source folder, package, type, method, field.<br/>
<i>When trying to rename a team package you'll be asked to rename the team class instead.</i></li>
</ul>
Additionally, specific refactorings for OT/J are being developed. Currently these are implemented:
<ul>
<li><b>Extract Callin</b><br/>
Extract a block of code in a given base method into a role method plus the necessary callin binding.</li>
<li><b>Inline Callin</b><br/>
Inverse of the above, merge a callin-bound role method into the bound base method.</li>
<li><b>Move to Role File</b><br/>
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>
</ul>
</body>
</html>