| <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> |