create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / preset / TypedPropertyMap.java
index d034c6064fdc1c4a142405c6208cc6407311cf99..cb43f12ca16c6905df234b20e69f7f076d2f535d 100644 (file)
@@ -6,7 +6,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
-public class TypedPropertyMap {
+public class TypedPropertyMap implements Cloneable {
        
        private final Map<TypedKey<?>, Object> delegate;
        
@@ -66,5 +66,21 @@ public class TypedPropertyMap {
        public Set<Entry<TypedKey<?>, Object>> entrySet() {
                return delegate.entrySet();
        }
+       @Override
+       public String toString() {
+               StringBuilder sb = new StringBuilder("TypedPropertyMap: { ");
+               for( Map.Entry<TypedKey<?>, Object> e : delegate.entrySet() ) {
+                       sb.append(e.getKey()).append(" => ").append(String.valueOf(e.getValue()));
+               }
+               sb.append("}");
+               return sb.toString();
+       }
+
+       @Override
+       protected TypedPropertyMap clone() throws CloneNotSupportedException {
+               TypedPropertyMap clone = new TypedPropertyMap();
+               clone.putAll(this);
+               return clone;
+       }
        
 }