diff options
Diffstat (limited to 'src/Java/gtPlusPlus/api')
-rw-r--r-- | src/Java/gtPlusPlus/api/objects/data/AutoMap.java | 11 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java | 12 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java index de565ab95a..7ffa2deb42 100644 --- a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java +++ b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java @@ -8,7 +8,7 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable { /** * The Internal Map */ - protected Map<Integer, V> mInternalMap = new HashMap<Integer, V>(); + protected final Map<Integer, V> mInternalMap; /** * The Internal ID @@ -16,6 +16,15 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable { private int mInternalID = 0; private static final long serialVersionUID = 3771412318075131790L; + + public AutoMap() { + this(new HashMap<Integer, V>()); + } + + public AutoMap(Map<Integer, V> defaultMapType) { + mInternalMap = defaultMapType; + } + @Override public Iterator<V> iterator() { return values().iterator(); diff --git a/src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java b/src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java new file mode 100644 index 0000000000..6c55822ca9 --- /dev/null +++ b/src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java @@ -0,0 +1,12 @@ +package gtPlusPlus.api.objects.data.weakref; + +import java.util.WeakHashMap; + +import gtPlusPlus.api.objects.data.AutoMap; + +public class WeakAutoMap<T> extends AutoMap<T> { + private static final long serialVersionUID = 8328345351801363386L; + public WeakAutoMap() { + super(new WeakHashMap<Integer, T>()); + } +} |