1 34 35 package com.micronova.util; 36 37 import java.util.*; 38 import java.beans.*; 39 import java.lang.reflect.*; 40 41 42 43 public class MapBean extends HashMap implements ObjectSource, ObjectTarget 44 { 45 protected static final Object REMOVE = new Object (); 46 47 protected ObjectSource _objectSource; 48 protected ObjectTarget _ObjectTarget; 49 50 protected void init() 51 { 52 _objectSource = this; 53 _ObjectTarget = this; 54 } 55 56 public MapBean() 57 { 58 super(); 59 60 init(); 61 } 62 63 public MapBean(Object source) 64 { 65 super((Map)source); 66 67 init(); 68 } 69 70 public void setObjectSource(ObjectSource objectSource) 71 { 72 _objectSource = objectSource; 73 } 74 75 public ObjectSource getObjectSource() 76 { 77 return _objectSource; 78 } 79 80 public void setObjectTarget(ObjectTarget ObjectTarget) 81 { 82 _ObjectTarget = ObjectTarget; 83 } 84 85 public ObjectTarget getObjectTarget() 86 { 87 return _ObjectTarget; 88 } 89 90 public Object getMapObject(Object key) 91 { 92 return super.get(key); 93 } 94 95 public Object putMapObject(Object key, Object value) 96 { 97 if (value == REMOVE) 98 { 99 return super.remove(key); 100 } 101 else 102 { 103 return super.put(key, value); 104 } 105 } 106 107 public Object putObject(Object objectSource, Object key, Object value) 108 { 109 return putMapObject(key, value); 110 } 111 112 public Object getObject(Object objectSource, Object key) 113 { 114 return getMapObject(key); 115 } 116 117 public Object get(Object key) 118 { 119 return _objectSource.getObject(this, key); 120 } 121 122 public Object get(Object key, Object defaultValue) 123 { 124 Object value = get(key); 125 126 if (value == null) 127 { 128 return defaultValue; 129 } 130 else 131 { 132 return value; 133 } 134 } 135 136 public Object put(Object key, Object value) 137 { 138 return _ObjectTarget.putObject(this, key, value); 139 } 140 141 public Object remove(Object key) 142 { 143 return put(key, REMOVE); 144 } 145 146 public String getString(Object key) 147 { 148 return (String )get(key); 149 } 150 151 public String getString(Object key, Object defaultValue) 152 { 153 return (String )get(key, defaultValue); 154 } 155 156 public int getInt(Object key, int defaultValue) 157 { 158 Integer value = TypeUtil.isInteger(get(key)); 159 160 if (value != null) 161 { 162 return value.intValue(); 163 } 164 else 165 { 166 return defaultValue; 167 } 168 } 169 170 public long getLong(Object key, long defaultValue) 171 { 172 Long value = TypeUtil.isLong(get(key)); 173 174 if (value != null) 175 { 176 return value.longValue(); 177 } 178 else 179 { 180 return defaultValue; 181 } 182 } 183 184 public double getDouble(Object key, double defaultValue) 185 { 186 Double value = TypeUtil.isDouble(get(key)); 187 188 if (value != null) 189 { 190 return value.doubleValue(); 191 } 192 else 193 { 194 return defaultValue; 195 } 196 } 197 198 public float getFloat(Object key, float defaultValue) 199 { 200 Float value = TypeUtil.isFloat(get(key)); 201 202 if (value != null) 203 { 204 return value.floatValue(); 205 } 206 else 207 { 208 return defaultValue; 209 } 210 } 211 212 public boolean getBoolean(Object key, boolean defaultValue) 213 { 214 Boolean value = TypeUtil.isBoolean(get(key)); 215 216 if (value != null) 217 { 218 return value.booleanValue(); 219 } 220 else 221 { 222 return defaultValue; 223 } 224 } 225 } 226 | Popular Tags |