34 * Base interface that jlink plugins should implement. |
34 * Base interface that jlink plugins should implement. |
35 */ |
35 */ |
36 public interface Plugin { |
36 public interface Plugin { |
37 |
37 |
38 /** |
38 /** |
39 * Order of categories: |
39 * Order of categories matches the plugin sort order. |
40 * <ol> |
40 * <ol> |
41 * <li>FILTER: Filter in/out resources or files.</li> |
41 * <li>FILTER: Filter in/out resources or files.</li> |
42 * <li>TRANSFORMER: Transform resources or files(eg: refactoring, bytecode |
42 * <li>TRANSFORMER: Transform resources or files(eg: refactoring, bytecode |
43 * manipulation).</li> |
43 * manipulation).</li> |
44 * <li>MODULEINFO_TRANSFORMER: Transform only module-info.class</li> |
44 * <li>MODULEINFO_TRANSFORMER: Transform only module-info.class</li> |
45 * <li>SORTER: Sort resources within the resource container.</li> |
45 * <li>SORTER: Sort resources within the resource container.</li> |
|
46 * <li>METAINFO_ADDER: Added meta info (like release, copyright etc.)</li> |
46 * <li>COMPRESSOR: Compress resource within the resouce containers.</li> |
47 * <li>COMPRESSOR: Compress resource within the resouce containers.</li> |
47 * <li>METAINFO_ADDER: Added meta info (like release, copyright etc.)</li> |
|
48 * <li>VERIFIER: Does some image verification.</li> |
48 * <li>VERIFIER: Does some image verification.</li> |
49 * <li>PROCESSOR: Does some post processing on image.</li> |
49 * <li>PROCESSOR: Does some post processing on image.</li> |
50 * <li>PACKAGER: Final processing</li> |
50 * <li>PACKAGER: Final processing</li> |
51 * </ol> |
51 * </ol> |
52 */ |
52 */ |
53 public enum Category { |
53 public enum Category { |
54 FILTER("FILTER"), |
54 FILTER("FILTER"), |
55 TRANSFORMER("TRANSFORMER"), |
55 TRANSFORMER("TRANSFORMER"), |
56 MODULEINFO_TRANSFORMER("MODULEINFO_TRANSFORMER"), |
56 MODULEINFO_TRANSFORMER("MODULEINFO_TRANSFORMER"), |
57 SORTER("SORTER"), |
57 SORTER("SORTER"), |
|
58 METAINFO_ADDER("METAINFO_ADDER"), |
58 COMPRESSOR("COMPRESSOR"), |
59 COMPRESSOR("COMPRESSOR"), |
59 METAINFO_ADDER("METAINFO_ADDER"), |
|
60 VERIFIER("VERIFIER"), |
60 VERIFIER("VERIFIER"), |
61 PROCESSOR("PROCESSOR"), |
61 PROCESSOR("PROCESSOR"), |
62 PACKAGER("PACKAGER"); |
62 PACKAGER("PACKAGER"); |
63 |
63 |
64 private final String name; |
64 private final String name; |