1 /**
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * If it is not possible or desirable to put the notice in a particular
7 * file, then You may include the notice in a location (such as a LICENSE
8 * file in a relevant directory) where a recipient would be likely to look
9 * for such a notice.
10
11 *
12 */
13
14 /* ---------------------------------------------------------------------------
15 * U.S. Government, Department of the Army
16 * Army Materiel Command
17 * Research Development Engineering Command
18 * Communications Electronics Research Development and Engineering Center
19 * ---------------------------------------------------------------------------
20 */
21
22 package org.miloss.fgsms.plugins;
23
24 import java.util.List;
25 import org.miloss.fgsms.services.interfaces.common.NameValuePair;
26 import org.miloss.fgsms.services.interfaces.common.PolicyType;
27
28 /**
29 *
30 * @author AO
31 */
32 public interface PluginCommon {
33 /**
34 * end user facing display name
35 *
36 * @since 6.3
37 * @return
38 */
39 public String GetDisplayName();
40
41 /**
42 * returns html formatted help to guide users towards proper usage.
43 * Always include the following fields <ul>
44 * <li>Applies to - what policies types it applies to</li>
45 * <li>Required and optional parameters</li>
46 * <li>Description</li>
47 * <li>State if this is processed as data comes in, or periodically (some aggregated data)
48 * </ul>
49 *
50 * Html is allowed, javascript is not
51 *
52 * @since 6.3
53 * @return
54 */
55 public String GetHtmlFormattedHelp();
56
57 /**
58 * returns a list of required parameters
59 *
60 * @since 6.3
61 * @return
62 */
63 public List<NameValuePair> GetRequiredParameters();
64
65 /**
66 * returns a list of optional parameters
67 *
68 * @since 6.3
69 * @return
70 */
71 public List<NameValuePair> GetOptionalParameters();
72
73 /**
74 * Returns a list of service policy types that this plugin can be applied to
75 * use Utility.getAllPolicyTypes() if it applies to everything. Also Utility.IsContains()
76 * @return
77 */
78 public List<PolicyType> GetAppliesTo();
79
80 }