1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.chainsaw.prefs;
18
19 import java.util.*;
20
21
22
23
24 public class LoadSettingsEvent extends SettingsEvent {
25
26 LoadSettingsEvent(Object source, Properties properties) {
27 super(source);
28 this.properties = properties;
29 }
30
31 public String getSetting(String key) {
32 return properties.getProperty(key);
33 }
34
35 public boolean asBoolean(String key) {
36 return Boolean.valueOf(getSetting(key));
37 }
38
39 public int asInt(String key) {
40 String val = getSetting(key);
41 try {
42 return Integer.parseInt(val);
43 } catch (NumberFormatException e) {
44 e.printStackTrace();
45 throw new RuntimeException(
46 "An error occurred retrieving the Integer value of the setting '"
47 + key
48 + "'");
49 }
50
51 }
52
53 private final Properties properties;
54
55
56
57
58
59
60
61
62 public Collection getSettingsStartingWith(String string) {
63 Collection c = new ArrayList();
64
65 for (Map.Entry<Object, Object> objectObjectEntry : properties.entrySet()) {
66 Map.Entry<Object, Object> entry = objectObjectEntry;
67 if (entry.getKey().toString().startsWith(string)) {
68 c.add(entry.getValue());
69 }
70 }
71
72 return Collections.unmodifiableCollection(c);
73
74 }
75 }