Hi Joshua,
Let's say you have an AspectJ ITD file which contains a single method
toString. When you move this method from AspectJ ITD file to the corresponding Java source file, Roo will automatically delete the ITD file because it is no longer required. You don't need to manually delete the .aj files.
Imagine you have a code generation tool that keeps all the information in Java source files. Now, everytime you do something using such a code generator, it'd result in overwriting the Java source file. It also means that you may lose all the customization that you made. In Spring Roo, the code that is managed by Spring Roo is kept in AspectJ ITD files, which you must not modify. This results in clear separation of what code is owned by developer (the code in .java files) and what is owned by Spring Roo (the code in .aj files).
I have added a
blog entry that can give you some idea about what typically forms part of .aj files.
regards
ashish