View Javadoc
1   /*
2    * Copyright (c) 2012, Dienst Landelijk Gebied - Ministerie van Economische Zaken
3    * 
4    * Gepubliceerd onder de BSD 2-clause licentie, 
5    * zie https://github.com/MinELenI/CBSviewer/blob/master/LICENSE.md voor de volledige licentie.
6    */
7   package nl.mineleni.cbsviewer.servlet.wms.cache;
8   
9   /**
10   * Beschrijft een cache object dat een String wrapt.
11   * 
12   * @author mprins
13   * @since 1.6
14   * 
15   */
16  public class CachableString implements Cachable<String> {
17  	/** de String die wordt opgeslagen in de cache. */
18  	private final String toCache;
19  
20  	/** de expire-by timestamp in milliseconden (UNIX time). */
21  	private final long expireBy;
22  
23  	/**
24  	 * Instantiates a new cachable string.
25  	 * 
26  	 * @param toCache
27  	 *            de String om te bewaren
28  	 * @param expireBy
29  	 *            de expire-by timestamp in milliseconden (UNIX time)
30  	 */
31  	public CachableString(final String toCache, final long expireBy) {
32  		this.toCache = toCache;
33  		this.expireBy = expireBy;
34  	}
35  
36  	/*
37  	 * (non-Javadoc)
38  	 * 
39  	 * @see nl.mineleni.cbsviewer.servlet.wms.cache.Cachable#getExpireBy()
40  	 */
41  	@Override
42  	public long getExpireBy() {
43  		return this.expireBy;
44  	}
45  
46  	/*
47  	 * (non-Javadoc)
48  	 * 
49  	 * @see nl.mineleni.cbsviewer.servlet.wms.cache.Cachable#getItem()
50  	 */
51  	@Override
52  	public String getItem() {
53  		return this.toCache;
54  	}
55  
56  	/*
57  	 * (non-Javadoc)
58  	 * 
59  	 * @see nl.mineleni.cbsviewer.servlet.wms.cache.Cachable#isValid()
60  	 */
61  	@Override
62  	public boolean isValid() {
63  		return ((this.toCache != null) && (this.expireBy > System
64  				.currentTimeMillis()));
65  	}
66  }