1 23 24 package org.continuent.sequoia.controller.cache.result; 25 26 import org.continuent.sequoia.common.i18n.Translate; 27 import org.continuent.sequoia.common.log.Trace; 28 import org.continuent.sequoia.common.xml.XmlComponent; 29 import org.continuent.sequoia.controller.backend.result.ControllerResultSet; 30 import org.continuent.sequoia.controller.cache.CacheException; 31 import org.continuent.sequoia.controller.cache.CacheStatistics; 32 import org.continuent.sequoia.controller.cache.result.entries.AbstractResultCacheEntry; 33 import org.continuent.sequoia.controller.requests.AbstractRequest; 34 import org.continuent.sequoia.controller.requests.ParsingGranularities; 35 import org.continuent.sequoia.controller.requests.SelectRequest; 36 import org.continuent.sequoia.controller.requests.UpdateRequest; 37 import org.continuent.sequoia.controller.sql.schema.DatabaseSchema; 38 39 52 public abstract class AbstractResultCache implements XmlComponent 53 { 54 63 67 protected int parsingGranularity = ParsingGranularities.NO_PARSING; 68 69 70 protected static Trace logger = Trace 71 .getLogger("org.continuent.sequoia.controller.cache"); 72 73 76 77 83 public int getParsingGranularity() 84 { 85 return parsingGranularity; 86 } 87 88 94 public void setParsingGranularity(int parsingGranularity) 95 { 96 this.parsingGranularity = parsingGranularity; 97 } 98 99 105 public void setDatabaseSchema(DatabaseSchema dbs) 106 { 107 if (logger.isInfoEnabled()) 108 logger.info(Translate.get("cache.schemas.not.supported")); 109 } 110 111 117 public void mergeDatabaseSchema(DatabaseSchema dbs) 118 { 119 if (logger.isInfoEnabled()) 120 logger.info(Translate.get("cache.scheduler.doesnt.support.schemas")); 121 } 122 123 126 127 135 public abstract void addCachingRule(ResultCacheRule rule); 136 137 142 public abstract ResultCacheRule getDefaultRule(); 143 144 149 public abstract void setDefaultRule(ResultCacheRule defaultRule); 150 151 160 public abstract void addToCache(SelectRequest request, 161 ControllerResultSet result) throws CacheException; 162 163 178 public abstract AbstractResultCacheEntry getFromCache(SelectRequest request, 179 boolean addToPendingQueries); 180 181 188 public abstract void removeFromCache(SelectRequest request); 189 190 195 public abstract void removeFromPendingQueries(SelectRequest request); 196 197 200 public abstract void shutdown(); 201 202 210 public abstract void writeNotify(AbstractRequest request) 211 throws CacheException; 212 213 221 public abstract boolean isUpdateNecessary(UpdateRequest request) 222 throws CacheException; 223 224 227 public abstract void flushCache(); 228 229 233 239 public abstract void commit(long transactionId) throws CacheException; 240 241 247 public abstract void rollback(long transactionId) throws CacheException; 248 249 252 253 258 protected abstract String getXmlImpl(); 259 260 263 public String getXml() 264 265 { 266 return getXmlImpl(); 267 } 268 269 275 public abstract String [][] getCacheData() throws CacheException; 276 277 283 public abstract String [][] getCacheStatsData() throws CacheException; 284 285 290 public abstract CacheStatistics getCacheStatistics(); 291 292 297 public abstract long getCacheSize(); 298 299 } | Popular Tags |