aboutsummaryrefslogtreecommitdiff
path: root/nailgun_launcher/JavaCache.java
blob: 3ba12ab9283d211ce99bd03dcc3b09cba23586f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package cbt;

import java.util.*;
import static java.io.File.pathSeparator;
import static cbt.Stage0Lib.*;

final class JavaCache<T>{
  Map<Object,Object> hashMap;

  public JavaCache(
    Map<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{}