Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
Module |
|
| 0.0;0 |
1 | package org.jtheque.core.managers.module.annotations; | |
2 | ||
3 | import java.lang.annotation.Documented; | |
4 | import java.lang.annotation.ElementType; | |
5 | import java.lang.annotation.Inherited; | |
6 | import java.lang.annotation.Retention; | |
7 | import java.lang.annotation.RetentionPolicy; | |
8 | import java.lang.annotation.Target; | |
9 | ||
10 | /* | |
11 | * This file is part of JTheque. | |
12 | * | |
13 | * JTheque is free software: you can redistribute it and/or modify | |
14 | * it under the terms of the GNU General Public License as published by | |
15 | * the Free Software Foundation, either version 3 of the License. | |
16 | * | |
17 | * JTheque is distributed in the hope that it will be useful, | |
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | * GNU General Public License for more details. | |
21 | * | |
22 | * You should have received a copy of the GNU General Public License | |
23 | * along with JTheque. If not, see <http://www.gnu.org/licenses/>. | |
24 | */ | |
25 | ||
26 | /** | |
27 | * An annotation to describe a module. | |
28 | * | |
29 | * @author Baptiste Wicht | |
30 | */ | |
31 | @Documented | |
32 | @Inherited | |
33 | @Retention(RetentionPolicy.RUNTIME) | |
34 | @Target(ElementType.TYPE) | |
35 | public @interface Module { | |
36 | /** | |
37 | * The identity of the module. This identity must be unique. | |
38 | * | |
39 | * @return A String identity for the module. | |
40 | */ | |
41 | String id(); | |
42 | ||
43 | /** | |
44 | * Return the i18n base name for the module. | |
45 | * | |
46 | * @return The i18n base name for the module. | |
47 | */ | |
48 | String i18n(); | |
49 | ||
50 | /** | |
51 | * Return the version of the module. | |
52 | * | |
53 | * @return The version of the module. | |
54 | */ | |
55 | String version(); | |
56 | ||
57 | /** | |
58 | * Return the needed core version of the module. | |
59 | * | |
60 | * @return The needed core version of the module. | |
61 | */ | |
62 | String core(); | |
63 | ||
64 | /** | |
65 | * Return the name of the jar file of the module. | |
66 | * | |
67 | * @return The name of the jar file of the module. | |
68 | */ | |
69 | String jarFile(); | |
70 | ||
71 | /** | |
72 | * The URL of the module. | |
73 | * | |
74 | * @return URL url of the module. | |
75 | */ | |
76 | String url() default ""; | |
77 | ||
78 | /** | |
79 | * The update URL. | |
80 | * | |
81 | * @return the update URL. | |
82 | */ | |
83 | String updateURL() default ""; | |
84 | ||
85 | /** | |
86 | * The dependency of the module. | |
87 | * | |
88 | * @return the dependency of the module. | |
89 | */ | |
90 | String[] dependencies() default {}; | |
91 | ||
92 | /** | |
93 | * The date of the module. | |
94 | * | |
95 | * @return the date of the module. | |
96 | */ | |
97 | String date() default ""; | |
98 | ||
99 | /** | |
100 | * The message's file URL. | |
101 | * | |
102 | * @return the message's files URL. | |
103 | */ | |
104 | String messageFileURL() default ""; | |
105 | } |