aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/api')
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/AutoMap.java11
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java12
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>());
+ }
+}