|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ShellCallback
This interface defines methods that a shell should support to enable Abator to work. A "shell" is defined as the Abator execution environment (i.e. an Eclipse plugin, and Ant task, a NetBeans plugin, etc.) Abator provides a default ShellCallback that is very low function and does not support the merging of Java files. The default shell callback is only appropriate for use in well controlled environments where no changes are ever made to generated Java files.
Method Summary | |
---|---|
java.io.File |
getDirectory(java.lang.String targetProject,
java.lang.String targetPackage,
java.util.List warnings)
Abator will call this method to ask the shell to resolve a project/package combination into a directory on the file system. |
java.lang.String |
mergeJavaFile(GeneratedJavaFile newFile,
java.lang.String javadocTag,
java.util.List warninigs)
Abator will call this method if a newly generated Java file would overwrite an existing file. |
boolean |
mergeSupported()
Return true if the callback supports Java merging, otherwise false. |
void |
refreshProject(java.lang.String project)
After all files are saved to the file system, Abator will call this method once for each unique project that was affected by the generation run. |
Method Detail |
---|
java.io.File getDirectory(java.lang.String targetProject, java.lang.String targetPackage, java.util.List warnings) throws ShellException
java.io.File
object:
targetProject
- targetPackage
- warnings
-
ShellException
- if the project/package cannot be resolved into
a directory on the file system. In this case, Abator will not save the
file it is currently working on. Abator
will add the exception message to the list of warnings automatically.java.lang.String mergeJavaFile(GeneratedJavaFile newFile, java.lang.String javadocTag, java.util.List warninigs) throws ShellException
newFile.getFormattedContent()
.
However, this will overwrite any modifications to the generated files.
newFile
- the newly generated Java filejavadocTag
- the JavaDoc tag that denotes which methods and fields in the
old file to delete (all new methods and fields will also include
this tag)warninigs
- Any warning strings during the merge can be added to this list.
Adding a warning will not stop Abator from saving the resulting
source.
ShellException
- if the file cannot be merged for some reason. If this
exception is thrown, Abator will not save anything and
the existing file will remain undisturbed. Abator
will add the exception message to the list of warnings automatically.void refreshProject(java.lang.String project)
project
- the project to be refreshedboolean mergeSupported()
mergeJavaFile
method if this method
returns true;
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |