1 4 package org.oddjob.values.types; 5 6 7 import java.util.Collection ; 8 import java.util.HashMap ; 9 import java.util.Map ; 10 import java.util.Set ; 11 12 28 public class SystemType implements Map { 29 30 public static final String JAVA_VERSION = "java.version"; public static final String JAVA_VENDOR = "java.vendor"; public static final String JAVA_VENDOR_URL = "java.vendor.url"; public static final String JAVA_HOME = "java.home"; public static final String JAVA_VM_SPECIFICATION_VERSION = "java.vm.specification.version"; public static final String JAVA_VM_SPECIFICATION_VENDOR = "java.vm.specification.vendor"; public static final String JAVA_VM_SPECIFICATION_NAME = "java.vm.specification.name"; public static final String JAVA_VM_VERSION = "java.vm.version"; public static final String JAVA_VM_VENDOR = "java.vm.vendor"; public static final String JAVA_VM_NAME = "java.vm.name"; public static final String JAVA_SPECIFICATION_VERSION = "java.specification.version"; public static final String JAVA_SPECIFICATION_VENDOR = "java.specification.vendor"; public static final String JAVA_SPECIFICATION_NAME = "java.specification.name"; public static final String JAVA_CLASS_VERSION = "java.class.version"; public static final String JAVA_CLASS_PATH = "java.class.path"; public static final String JAVA_LIBRARY_PATH = "java.library.path"; public static final String JAVA_IO_TMPDIR = "java.io.tmpdir"; public static final String JAVA_COMPILER = "java.compiler"; public static final String JAVA_EXT_DIRS = "java.ext.dirs"; public static final String OS_NAME = "os.name"; public static final String OS_ARCH = "os.arch"; public static final String OS_VERSION = "os.version"; public static final String FILE_SEPARATOR = "file.separator"; public static final String PATH_SEPARATOR = "path.separator"; public static final String LINE_SEPARATOR = "line.separator"; public static final String USER_NAME = "user.name"; public static final String USER_HOME = "user.home"; public static final String USER_DIR = "user.dir"; 59 60 private Map map; 61 62 67 private String name; 68 69 74 private String value; 75 76 77 80 public SystemType() { 81 map = new HashMap (System.getProperties()); 82 } 83 84 89 public void setName(String name) { 90 this.name = name; 91 if (name != null) { 92 map.clear(); 93 if (value != null) { 94 System.setProperty(name, value); 95 } 96 map.put(name, System.getProperty(name)); 97 } 98 } 99 100 105 public void setValue(String value) { 106 this.value = value; 107 if (name != null) { 108 System.setProperty(name, value); 109 map.put(name, value); 110 } 111 } 112 113 119 public Object valueFor(Class required) { 120 if (name != null) { 121 return map.get(name); 122 } 123 return map; 124 } 125 126 129 public void clear() { 130 throw new UnsupportedOperationException ("This map is read only!"); 131 } 132 133 136 public boolean containsKey(Object key) { 137 return map.containsKey(key); 138 } 139 140 143 public boolean containsValue(Object value) { 144 return map.containsValue(value); 145 } 146 147 150 public Set entrySet() { 151 return map.entrySet(); 152 } 153 154 157 public Object get(Object key) { 158 return map.get(key); 159 } 160 161 164 public boolean isEmpty() { 165 return map.isEmpty(); 166 } 167 168 171 public Set keySet() { 172 return map.keySet(); 173 } 174 175 178 public Object put(Object key, Object value) { 179 throw new UnsupportedOperationException ("This map is read only!"); 180 } 181 182 185 public void putAll(Map t) { 186 throw new UnsupportedOperationException ("This map is read only!"); 187 } 188 189 192 public Object remove(Object key) { 193 return map.remove(key); 194 } 195 196 199 public int size() { 200 return map.size(); 201 } 202 203 206 public Collection values() { 207 return map.values(); 208 } 209 210 } 211 | Popular Tags |