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 }