1 |
package skrueger.lang; |
2 |
|
3 |
import java.io.InputStream; |
4 |
import java.net.URL; |
5 |
import java.util.Properties; |
6 |
|
7 |
import org.apache.log4j.Logger; |
8 |
|
9 |
/** |
10 |
* Erlaubt es eine {@link Properties} Instanz mit einer Zeile zu initialisieren |
11 |
* und mit den Werten einer Datei zu befüllen. ALle Exceptions werden zu |
12 |
* {@link RuntimeException}s. |
13 |
* |
14 |
* @author Stefan A. Tzeggai |
15 |
* |
16 |
*/ |
17 |
public class PropertiesLoaded extends Properties { |
18 |
private static Logger log = Logger.getLogger(PropertiesLoaded.class); |
19 |
// private String charSet = null; |
20 |
// |
21 |
// public PropertiesLoaded(URL loadFrom, String charSet){ |
22 |
// this(loadFrom); |
23 |
// this.charSet = charSet; |
24 |
// } |
25 |
// |
26 |
// @Override |
27 |
// public synchronized Object get(Object key) { |
28 |
// Object val = super.get(key); |
29 |
// if (val instanceof String) { |
30 |
// String str = (String) val; |
31 |
// try { |
32 |
// return new String (str.getBytes("ISO-8859-1"),"UTF-8") ; |
33 |
// } catch (UnsupportedEncodingException e) { |
34 |
// e.printStackTrace(); |
35 |
// return val; |
36 |
// } |
37 |
// }else return val; |
38 |
// } |
39 |
|
40 |
/** |
41 |
* Erlaubt es eine {@link Properties} Instanz mit einer Zeile zu |
42 |
* initialisieren und mit den Werten einer Datei zu befüllen. ALle |
43 |
* Exceptions werden zu {@link RuntimeException}s. |
44 |
* |
45 |
* @author Stefan A. Tzeggai |
46 |
* |
47 |
*/ |
48 |
public PropertiesLoaded(URL loadFrom) { |
49 |
super(); |
50 |
|
51 |
load(loadFrom); |
52 |
} |
53 |
|
54 |
/** |
55 |
* Erlaubt es eine {@link Properties} Instanz mit einer Zeile zu |
56 |
* initialisieren und mit den Werten einer Datei zu befüllen. ALle |
57 |
* Exceptions werden zu {@link RuntimeException}s. |
58 |
* |
59 |
* @author Stefan A. Tzeggai |
60 |
* |
61 |
*/ |
62 |
public PropertiesLoaded(URL loadFrom, Properties defaults) { |
63 |
super(defaults); |
64 |
load(loadFrom); |
65 |
} |
66 |
|
67 |
/** |
68 |
* Erlaubt es eine {@link Properties} Instanz mit einer Zeile zu |
69 |
* initialisieren und mit den Werten einer Datei zu befüllen. ALle |
70 |
* Exceptions werden zu {@link RuntimeException}s. |
71 |
* |
72 |
* @author Stefan A. Tzeggai |
73 |
* |
74 |
*/ |
75 |
public PropertiesLoaded() { |
76 |
super(); |
77 |
} |
78 |
|
79 |
/** |
80 |
* Erlaubt es eine {@link Properties} Instanz mit einer Zeile zu |
81 |
* initialisieren und mit den Werten einer Datei zu befüllen. ALle |
82 |
* Exceptions werden zu {@link RuntimeException}s. |
83 |
* |
84 |
* @author Stefan A. Tzeggai |
85 |
* |
86 |
*/ |
87 |
public PropertiesLoaded(Properties defaults) { |
88 |
super(defaults); |
89 |
} |
90 |
|
91 |
/** |
92 |
* Erlaubt es eine {@link Properties} Instanz mit einer Zeile zu |
93 |
* initialisieren und mit den Werten einer Datei zu befüllen. ALle |
94 |
* Exceptions werden zu {@link RuntimeException}s. |
95 |
* |
96 |
* @author Stefan A. Tzeggai |
97 |
* |
98 |
*/ |
99 |
public void load(URL loadFrom) { |
100 |
try { |
101 |
|
102 |
InputStream openStream = null; |
103 |
try { |
104 |
openStream = loadFrom.openStream(); |
105 |
load(openStream); |
106 |
} finally { |
107 |
if (openStream != null) |
108 |
openStream.close(); |
109 |
} |
110 |
|
111 |
} catch (Exception e) { |
112 |
throw new RuntimeException(e); |
113 |
} |
114 |
} |
115 |
|
116 |
} |