1 23 24 package org.continuent.sequoia.controller.cache.result.entries; 25 26 import java.util.Date ; 27 28 import org.continuent.sequoia.controller.backend.result.ControllerResultSet; 29 import org.continuent.sequoia.controller.cache.result.AbstractResultCache; 30 import org.continuent.sequoia.controller.requests.SelectRequest; 31 32 39 public class ResultCacheEntryEager extends AbstractResultCacheEntry 40 { 41 private AbstractResultCache cache; 42 private long timeout; 43 private long deadline; 44 45 53 public ResultCacheEntryEager(AbstractResultCache cache, 54 SelectRequest request, ControllerResultSet result, long timeout) 55 { 56 super(request, result); 57 this.cache = cache; 58 if (timeout > 0) 59 this.deadline = System.currentTimeMillis() + timeout; 60 else 61 this.deadline = NO_DEADLINE; 62 } 63 64 67 public void invalidate() 68 { 69 state = CACHE_INVALID; 70 if (cache != null) 71 cache.removeFromCache(request); 72 if (result != null) 73 result = null; 74 cache = null; 75 } 76 77 80 public String getType() 81 { 82 return "Eager"; 83 } 84 85 88 public String [] toStringTable() 89 { 90 return new String []{request.getUniqueKey(), getType(), getState(), 91 new Date (getDeadline()).toString(), String.valueOf(getSizeOfResult())}; 92 } 93 94 99 public long getDeadline() 100 { 101 return deadline; 102 } 103 104 109 public long getTimeout() 110 { 111 return timeout; 112 } 113 } | Popular Tags |