src/org/objectweb/cjdbc/controller/cache/result/entries/ResultCacheEntry.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.controller.cache.result.entries; 00026 00027 import org.objectweb.cjdbc.common.sql.SelectRequest; 00028 import org.objectweb.cjdbc.common.stream.CJDBCStream; 00029 import org.objectweb.cjdbc.controller.virtualdatabase.ControllerResultSet; 00030 00046 public abstract class ResultCacheEntry implements CacheEntry 00047 { 00048 protected SelectRequest request; 00049 protected ControllerResultSet result; 00050 protected int state; 00051 00052 private CacheEntry next; // Chain for LRU 00053 private CacheEntry prev; 00054 00061 public ResultCacheEntry(SelectRequest request, ControllerResultSet result) 00062 { 00063 this.request = request; 00064 this.result = result; 00065 state = CACHE_VALID; 00066 next = null; 00067 prev = null; 00068 } 00069 00075 public abstract String getType(); 00076 00082 public String getState() 00083 { 00084 if (isValid()) 00085 return "Valid"; 00086 if (isDirty()) 00087 return "Dirty"; 00088 else 00089 return "Invalid"; 00090 } 00091 00098 public boolean isValid() 00099 { 00100 return state == CACHE_VALID; 00101 } 00102 00109 public boolean isDirty() 00110 { 00111 return state == CACHE_DIRTY; 00112 } 00113 00119 public SelectRequest getRequest() 00120 { 00121 return request; 00122 } 00123 00129 public ControllerResultSet getResult() 00130 { 00131 return result; 00132 } 00133 00142 public void setResult(ControllerResultSet result) 00143 { 00144 this.result = result; 00145 state = CACHE_VALID; 00146 } 00147 00152 public abstract void invalidate(); 00153 00159 public void markDirty() 00160 { 00161 state = CACHE_DIRTY; 00162 } 00163 00167 public void setValid() 00168 { 00169 state = CACHE_VALID; 00170 } 00171 00177 public CacheEntry getNext() 00178 { 00179 return next; 00180 } 00181 00187 public void setNext(CacheEntry next) 00188 { 00189 this.next = next; 00190 } 00191 00197 public CacheEntry getPrev() 00198 { 00199 return prev; 00200 } 00201 00207 public void setPrev(CacheEntry prev) 00208 { 00209 this.prev = prev; 00210 } 00211 00217 public abstract String[] toStringTable(); 00218 00224 public int getSizeOfResult() 00225 { 00226 try 00227 { 00228 return CJDBCStream.countBytes(result); 00229 } 00230 catch (Exception e) 00231 { 00232 return -1; 00233 } 00234 } 00235 00236 }

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