blob: 6b5bfcfb03e9bb1a7c79dd6727230069bc51b0f1 [file] [log] [blame]
Stuart McCullochbb014372012-06-07 21:57:32 +00001package aQute.bnd.service;
2
3import java.util.*;
4
5import aQute.libg.reporter.*;
6
7/**
8 * An optional interface for plugins. If a plugin implements this interface then
9 * it can receive the reminaing attributes and directives given in its clause as
10 * well as the reporter to use.
Stuart McCullochbb014372012-06-07 21:57:32 +000011 */
12public interface Plugin {
Stuart McCulloch2286f232012-06-15 13:27:53 +000013 /**
14 * Give the plugin the remaining properties. When a plugin is declared, the
15 * clause can contain extra properties. All the properties and directives
16 * are given to the plugin to use.
17 *
18 * @param map
19 * attributes and directives for this plugin's clause
20 */
21 void setProperties(Map<String,String> map);
22
23 /**
24 * Set the current reporter. This is called at init time. This plugin should
25 * report all errors and warnings to this reporter.
26 *
27 * @param processor
28 */
29 void setReporter(Reporter processor);
Stuart McCullochbb014372012-06-07 21:57:32 +000030}