Changeset 2305 in josm for trunk/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
- Timestamp:
- 2009-10-24T21:22:49+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
r2299 r2305 2 2 package org.openstreetmap.josm.data.osm; 3 3 4 import java.util.ArrayList; 5 import java.util.Collection; 4 6 import java.util.HashMap; 7 import java.util.List; 5 8 import java.util.Map; 6 9 … … 12 15 * 13 16 */ 14 public abstract class PrimitiveData {17 public abstract class PrimitiveData implements Tagged { 15 18 16 19 // Useful? … … 19 22 //private boolean selected; 20 23 //private boolean highlighted; 24 25 public PrimitiveData() { 26 id = OsmPrimitive.generateUniqueId(); 27 } 28 29 public PrimitiveData(PrimitiveData data) { 30 this.keys.putAll(data.keys); 31 this.modified = data.modified; 32 this.visible = data.visible; 33 this.deleted = data.deleted; 34 this.id = data.id; 35 this.user = data.user; 36 this.version = data.version; 37 this.timestamp = data.timestamp; 38 } 21 39 22 40 private final Map<String, String> keys = new HashMap<String, String>(); … … 75 93 } 76 94 95 public void clearOsmId() { 96 id = OsmPrimitive.generateUniqueId(); 97 } 98 99 public abstract PrimitiveData makeCopy(); 100 101 public abstract OsmPrimitive makePrimitive(DataSet dataSet); 77 102 78 103 @Override … … 94 119 } 95 120 121 // Tagged implementation 122 123 public String get(String key) { 124 return keys.get(key); 125 } 126 127 public boolean hasKeys() { 128 return !keys.isEmpty(); 129 } 130 131 public Collection<String> keySet() { 132 return keys.keySet(); 133 } 134 135 public void put(String key, String value) { 136 keys.put(key, value); 137 } 138 139 public void remove(String key) { 140 keys.remove(key); 141 } 142 143 public void removeAll() { 144 keys.clear(); 145 } 146 147 public void setKeys(Map<String, String> keys) { 148 this.keys.clear(); 149 this.keys.putAll(keys); 150 } 151 152 153 @SuppressWarnings("unchecked") 154 static public <T extends PrimitiveData> List<T> getFilteredList(Collection<T> list, OsmPrimitiveType type) { 155 List<T> ret = new ArrayList<T>(); 156 for(PrimitiveData p: list) { 157 if (type.getDataClass().isInstance(p)) { 158 ret.add((T)p); 159 } 160 } 161 return ret; 162 } 163 164 protected void setKeysAsList(String... keys) { 165 assert keys.length % 2 == 0; 166 for (int i=0; i<keys.length/2; i++) { 167 this.keys.put(keys[i * 2], keys[i * 2 + 1]); 168 } 169 } 170 171 96 172 97 173 }
Note:
See TracChangeset
for help on using the changeset viewer.