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 }