e73e01da35474ee546319a448f75c9b112eec508
[jabaws.git] / webservices / compbio / data / msa / Metadata.java
1 package compbio.data.msa;\r
2 \r
3 import javax.jws.WebParam;\r
4 \r
5 import compbio.metadata.Limit;\r
6 import compbio.metadata.LimitsManager;\r
7 import compbio.metadata.PresetManager;\r
8 import compbio.metadata.RunnerConfig;\r
9 \r
10 public interface Metadata<T> {\r
11 \r
12         /**\r
13          * Get options supported by a web service\r
14          * \r
15          * @return RunnerConfig the list of options and parameters supported by a\r
16          *         web service.\r
17          */\r
18         RunnerConfig<T> getRunnerOptions();\r
19 \r
20         /**\r
21          * Get presets supported by a web service\r
22          * \r
23          * @return PresetManager the object contains information about presets\r
24          *         supported by a web service\r
25          */\r
26         PresetManager<T> getPresets();\r
27 \r
28         /**\r
29          * Get a Limit for a preset.\r
30          * \r
31          * @param presetName\r
32          *            the name of the preset. if no name is provided, then the\r
33          *            default preset is returned. If no limit for a particular\r
34          *            preset is defined then the default preset is returned\r
35          * @return Limit\r
36          */\r
37         Limit<T> getLimit(@WebParam(name = "presetName") String presetName);\r
38 \r
39         /**\r
40          * List Limits supported by a web service.\r
41          * \r
42          * @return LimitManager\r
43          */\r
44         LimitsManager<T> getLimits();\r
45 \r
46 }\r