Added toString for debugging and error logging and Cloneable.
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Mon, 2 Apr 2012 20:05:53 +0000 (20:05 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Mon, 2 Apr 2012 20:05:53 +0000 (20:05 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@503 180e2498-e6e9-4542-8430-84ac67f01cd8

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;
+       }
        
 }