diff options
Diffstat (limited to 'nailgun_launcher/JavaCache.java')
-rw-r--r-- | nailgun_launcher/JavaCache.java | 41 |
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{} |