1 |
package dk.thoerup.webconfig; |
2 |
|
3 |
import java.lang.annotation.ElementType; |
4 |
import java.lang.annotation.Retention; |
5 |
import java.lang.annotation.RetentionPolicy; |
6 |
import java.lang.annotation.Target; |
7 |
|
8 |
|
9 |
@Retention(RetentionPolicy.RUNTIME) |
10 |
@Target(ElementType.FIELD) |
11 |
public @interface ConfigVariable { |
12 |
String description() default ""; |
13 |
|
14 |
//controls whether this is writable from ConfigServlet web UI |
15 |
boolean readonly() default false; |
16 |
|
17 |
//Property name - if the field has another name in the config source |
18 |
//eg. the annotated variable is called cacheTimeout but in the config file it's called cache_timeout |
19 |
String propertyname() default ""; |
20 |
|
21 |
// Controls whether the value should be hidden from the web config page |
22 |
boolean hideValue() default false; |
23 |
|
24 |
|
25 |
//If mandatory=false, do not abort if it's missing from config source |
26 |
boolean mandatory() default true; |
27 |
} |