View Javadoc

1   /***
2    * 
3    */
4   package de.cohesion.bssh.impl.util;
5   
6   /***
7    * @author schulzs
8    */
9   public class CacheEntry<K, E> {
10  
11  	private final K key;
12  
13  	private E value;
14  
15  	private long lastAccessTime;
16  
17  	public CacheEntry(final K key, final E value) {
18  		this.key = key;
19  		this.value = value;
20  	}
21  
22  	public K getKey() {
23  		return key;
24  	}
25  
26  	protected void setValue(final E value) {
27  		this.value = value;
28  	}
29  
30  	public E getValue() throws InstantiationException {
31  		lastAccessTime = System.currentTimeMillis();
32  		return value;
33  	}
34  
35  	public long getLastAccessTime() {
36  		return lastAccessTime;
37  	}
38  
39  	public int hashCode() {
40  		return key.hashCode();
41  	}
42  
43  	public boolean equals(final Object o) {
44  		if (o == null || !(o instanceof CacheEntry)) {
45  			return false;
46  		}
47  		CacheEntry other = (CacheEntry) o;
48  		return (this.getKey().equals(other.getKey()));
49  	}
50  
51  }