Change header template for a new version
[jabaws.git] / webservices / compbio / data / msa / Metadata.java
1 /* Copyright (c) 2011 Peter Troshin\r
2  *  \r
3  *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
4  * \r
5  *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
6  *  Apache License version 2 as published by the Apache Software Foundation\r
7  * \r
8  *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
9  *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
10  *  License for more details.\r
11  * \r
12  *  A copy of the license is in apache_license.txt. It is also available here:\r
13  * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
14  * \r
15  * Any republication or derived work distributed in source code form\r
16  * must include this copyright and license notice.\r
17  */\r
18 package compbio.data.msa;\r
19 \r
20 import javax.jws.WebParam;\r
21 \r
22 import compbio.metadata.Limit;\r
23 import compbio.metadata.LimitsManager;\r
24 import compbio.metadata.PresetManager;\r
25 import compbio.metadata.RunnerConfig;\r
26 \r
27 public interface Metadata<T> {\r
28 \r
29         /**\r
30          * Get options supported by a web service\r
31          * \r
32          * @return RunnerConfig the list of options and parameters supported by a\r
33          *         web service.\r
34          */\r
35         RunnerConfig<T> getRunnerOptions();\r
36 \r
37         /**\r
38          * Get presets supported by a web service\r
39          * \r
40          * @return PresetManager the object contains information about presets\r
41          *         supported by a web service\r
42          */\r
43         PresetManager<T> getPresets();\r
44 \r
45         /**\r
46          * Get a Limit for a preset.\r
47          * \r
48          * @param presetName\r
49          *            the name of the preset. if no name is provided, then the\r
50          *            default preset is returned. If no limit for a particular\r
51          *            preset is defined then the default preset is returned\r
52          * @return Limit\r
53          */\r
54         Limit<T> getLimit(@WebParam(name = "presetName") String presetName);\r
55 \r
56         /**\r
57          * List Limits supported by a web service.\r
58          * \r
59          * @return LimitManager\r
60          */\r
61         LimitsManager<T> getLimits();\r
62 \r
63 }\r