01: package tide.exttools;
02:
03: import tide.sources.*;
04: import java.util.*;
05:
06: /** each class in the exttools folder subfolder from the tide.jar that implements this
07: * will be recognized as external tool.
08: * It offers the user a pluggable tool framwework.
09: *
10: * TODO: A tool can also be packed in a jar file placed in the exttools folder.
11: * a root class file implementing ExtTool must be present.
12: */
13: public interface ExtTool {
14:
15: String getToolName();
16:
17: // combine these answers to tell where this tool apply
18:
19: boolean getApplyOnClasses();
20:
21: boolean getApplyOnSources();
22:
23: boolean getApplyOnBranches();
24:
25: boolean getApplyGlobal();
26:
27: boolean getAutoApplyAfterCompile();
28:
29: boolean getAutoApplyAfterEdit();
30:
31: void applyTool(List<FileItem> files) throws Exception;
32:
33: boolean getHasSetup();
34:
35: void doToolSetup();
36:
37: } // ExtTool
|