01: package org.swingml;
02:
03: import java.util.*;
04:
05: /**
06: * @author ttolle@crosslogic.com
07: */
08: public class SwingMLProperties {
09: private static SwingMLProperties sole = null;
10: // Map to store all of the properties
11: private Map properties = new HashMap();
12:
13: /**
14: * Private constructor to enforce singleton pattern.
15: */
16: private SwingMLProperties() {
17: }
18:
19: /**
20: * Gets the single instance of the SwingMLProperties object.
21: */
22: public synchronized static SwingMLProperties sole() {
23: if (sole == null) {
24: sole = new SwingMLProperties();
25: }
26: return sole;
27: }
28:
29: /**
30: * Returns the value to which is mapped to the specified key.
31: * Returns <tt>null</tt> if there is no mapping for this key.
32: *
33: * @param key key whose associated value is to be returned.
34: * @return the value for the specified key, or <tt>null</tt>
35: * if the it contains no mapping for this key.
36: */
37: public String get(String key) {
38: return (String) properties.get(key);
39: }
40:
41: /**
42: * Associates the specified value with the specified key. If
43: * the map previously contained a mapping for this key, the
44: * old value is replaced by the specified value.
45: *
46: * @param key key with which the specified value is to be associated.
47: * @param value value to be associated with the specified key.
48: * @return previous value associated with specified key, or <tt>null</tt>
49: * if there was no property value for key.
50: */
51: public String put(String key, String value) {
52: return (String) properties.put(key, value);
53: }
54:
55: /**
56: * Returns the number of properties stored.
57: * @return the number of properties.
58: */
59: public int size() {
60: return properties.size();
61: }
62:
63: public Set entrySet() {
64: return properties.entrySet();
65: }
66:
67: public Set keySet() {
68: return properties.keySet();
69: }
70: }
|