src/org/objectweb/cjdbc/controller/cache/result/AbstractResultCache.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.controller.cache.result; 00026 00027 import org.objectweb.cjdbc.common.i18n.Translate; 00028 import org.objectweb.cjdbc.common.log.Trace; 00029 import org.objectweb.cjdbc.common.sql.AbstractWriteRequest; 00030 import org.objectweb.cjdbc.common.sql.ParsingGranularities; 00031 import org.objectweb.cjdbc.common.sql.SelectRequest; 00032 import org.objectweb.cjdbc.common.sql.UpdateRequest; 00033 import org.objectweb.cjdbc.common.sql.schema.DatabaseSchema; 00034 import org.objectweb.cjdbc.common.xml.XmlComponent; 00035 import org.objectweb.cjdbc.controller.cache.CacheException; 00036 import org.objectweb.cjdbc.controller.cache.CacheStatistics; 00037 import org.objectweb.cjdbc.controller.cache.result.entries.CacheEntry; 00038 import org.objectweb.cjdbc.controller.virtualdatabase.ControllerResultSet; 00039 00053 public abstract class AbstractResultCache implements XmlComponent 00054 { 00055 // 00056 // How the code is organized? 00057 // 00058 // 1. Member variables 00059 // 2. Getter/Setter (possibly in alphabetical order) 00060 // 3. Cache management 00061 // 4. Transaction management 00062 // 5. Debug/Monitoring 00063 00068 protected int parsingGranularity = ParsingGranularities.NO_PARSING; 00069 00071 protected static Trace logger = Trace 00072 .getLogger("org.objectweb.cjdbc.controller.cache"); 00073 00074 /* 00075 * Getter/Setter methods 00076 */ 00077 00084 public int getParsingGranularity() 00085 { 00086 return parsingGranularity; 00087 } 00088 00095 public void setParsingGranularity(int parsingGranularity) 00096 { 00097 this.parsingGranularity = parsingGranularity; 00098 } 00099 00106 public void setDatabaseSchema(DatabaseSchema dbs) 00107 { 00108 if (logger.isInfoEnabled()) 00109 logger.info(Translate.get("cache.schemas.not.supported")); 00110 } 00111 00118 public void mergeDatabaseSchema(DatabaseSchema dbs) 00119 { 00120 if (logger.isInfoEnabled()) 00121 logger.info(Translate.get("cache.scheduler.doesnt.support.schemas")); 00122 } 00123 00124 /* 00125 * Cache Management 00126 */ 00127 00136 public abstract void addCachingRule(ResultCacheRule rule); 00137 00143 public abstract ResultCacheRule getDefaultRule(); 00144 00150 public abstract void setDefaultRule(ResultCacheRule defaultRule); 00151 00161 public abstract void addToCache(SelectRequest request, 00162 ControllerResultSet result) throws CacheException; 00163 00179 public abstract CacheEntry getFromCache(SelectRequest request, 00180 boolean addToPendingQueries); 00181 00189 public abstract void removeFromCache(SelectRequest request); 00190 00196 public abstract void removeFromPendingQueries(SelectRequest request); 00197 00206 public abstract void writeNotify(AbstractWriteRequest request) 00207 throws CacheException; 00208 00217 public abstract boolean isUpdateNecessary(UpdateRequest request) 00218 throws CacheException; 00219 00223 public abstract void flushCache(); 00224 00225 // 00226 // Transaction management 00227 // 00228 00235 public abstract void commit(long transactionId) throws CacheException; 00236 00243 public abstract void rollback(long transactionId) throws CacheException; 00244 00245 /* 00246 * Debug/Monitoring 00247 */ 00248 00254 protected abstract String getXmlImpl(); 00255 00259 public String getXml() 00260 00261 { 00262 return getXmlImpl(); 00263 } 00264 00271 public abstract String[][] getCacheData() throws CacheException; 00272 00279 public abstract String[][] getCacheStatsData() throws CacheException; 00280 00286 public abstract CacheStatistics getCacheStatistics(); 00287 00293 public abstract long getCacheSize(); 00294 00295 }

CJDBCversion1.0.4に対してTue Oct 12 15:16:00 2004に生成されました。 doxygen 1.3.8