aboutsummaryrefslogtreecommitdiff
path: root/nailgun_launcher/JavaCache.java
diff options
context:
space:
mode:
Diffstat (limited to 'nailgun_launcher/JavaCache.java')
-rw-r--r--nailgun_launcher/JavaCache.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/nailgun_launcher/JavaCache.java b/nailgun_launcher/JavaCache.java
new file mode 100644
index 0000000..56730df
--- /dev/null
+++ b/nailgun_launcher/JavaCache.java
@@ -0,0 +1,41 @@
+package cbt;
+
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import static java.io.File.pathSeparator;
+import static cbt.Stage0Lib.*;
+
+final class JavaCache<T>{
+ ConcurrentHashMap<Object,Object> hashMap;
+
+ public JavaCache(
+ ConcurrentHashMap<Object,Object> hashMap
+ ){
+ this.hashMap = hashMap;
+ }
+
+ public T get( Object key ){
+ @SuppressWarnings("unchecked")
+ T t = (T) hashMap.get(
+ hashMap.get( key )
+ );
+ return t;
+ }
+
+ public Boolean contains( Object key/*, Long timestamp*/ ){
+ return hashMap.containsKey( key );/* && (
+ (Long) hashMap.get( hashMap.get( hashMap.get(key) ) ) >= timestamp
+ );*/
+ }
+
+ public T put( Object value, Object key/*, Long timestamp*/ ){
+ LockableJavaKey keyObject = new LockableJavaKey();
+ hashMap.put( key, keyObject );
+ hashMap.put( keyObject, value );
+ //hashMap.put( value, timestamp );
+ @SuppressWarnings("unchecked")
+ T t = (T) value;
+ return t;
+ }
+}
+class LockableJavaKey{}