View Javadoc
1   package org.kuali.common.util.spring.env;
2   
3   import java.io.File;
4   
5   import org.kuali.common.util.Assert;
6   
7   public final class EnvContext<T> {
8   
9   	public EnvContext(String key, Class<T> type) {
10  		this(key, type, null);
11  	}
12  
13  	public EnvContext(String key, Class<T> type, T defaultValue) {
14  		Assert.noNulls(type);
15  		Assert.noBlanks(key);
16  		this.key = key;
17  		this.type = type;
18  		this.defaultValue = defaultValue;
19  	}
20  
21  	private final String key;
22  	private final Class<T> type;
23  	private final T defaultValue;
24  
25  	public String getKey() {
26  		return key;
27  	}
28  
29  	public Class<T> getType() {
30  		return type;
31  	}
32  
33  	public T getDefaultValue() {
34  		return defaultValue;
35  	}
36  
37  	public static <T> EnvContext<T> newCtx(String key, Class<T> type, T defaultValue) {
38  		return new EnvContext<T>(key, type, defaultValue);
39  	}
40  
41  	public static EnvContext<String> newString(String key, String defaultValue) {
42  		return newCtx(key, String.class, defaultValue);
43  	}
44  
45  	public static EnvContext<Boolean> newBoolean(String key, Boolean defaultValue) {
46  		return newCtx(key, Boolean.class, defaultValue);
47  	}
48  
49  	public static EnvContext<Integer> newInteger(String key, Integer defaultValue) {
50  		return newCtx(key, Integer.class, defaultValue);
51  	}
52  
53  	public static EnvContext<File> newFile(String key, File defaultValue) {
54  		return newCtx(key, File.class, defaultValue);
55  	}
56  
57  }