|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--iglu.util.FileObjectPager
A file back cache which uses a least-recently-used algorithm for swapping objects out to disk. All objects put in the cache must be serializable. The cache file is erased when the JVM terminates (assuming it terminates normally).
Field Summary | |
(package private) java.util.LinkedList |
accesses
|
(package private) java.util.HashMap |
diskLocations
|
(package private) java.util.LinkedList |
freeSpace
|
(package private) java.util.LinkedList |
loaded
|
(package private) int |
nextId
|
(package private) int |
numInRam
|
(package private) int |
numReads
|
(package private) int |
numWrites
|
(package private) java.io.RandomAccessFile |
raf
|
Constructor Summary | |
FileObjectPager(java.io.RandomAccessFile raf,
int numInRam)
|
|
FileObjectPager(java.lang.String fileName,
int numInRam)
Create a new FileObjectPager. |
Method Summary | |
void |
compress()
|
void |
delete(java.lang.Object id)
remove object associated with id from the repository |
java.util.Iterator |
iterator()
iterate over the ids in the pager |
private java.lang.Object |
loadFromDisk(java.lang.Object id)
|
static void |
main(java.lang.String[] argv)
|
java.lang.Object |
retrieve(java.lang.Object id)
Retrieve and object based on it's id |
void |
setReclaimSpace(boolean reclaim)
|
java.lang.String |
status()
|
java.lang.Object |
store(java.lang.Object o)
Store an object, and get back an id for the object |
void |
update(java.lang.Object o,
java.lang.Object id)
Associate object o with id |
private void |
writeLastObject()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
java.io.RandomAccessFile raf
java.util.LinkedList loaded
java.util.LinkedList accesses
java.util.HashMap diskLocations
java.util.LinkedList freeSpace
int numInRam
int nextId
int numWrites
int numReads
Constructor Detail |
public FileObjectPager(java.lang.String fileName, int numInRam)
fileName
- The name of the file to use for the cache.numInRam
- The max number of items to keep in main memory at once.public FileObjectPager(java.io.RandomAccessFile raf, int numInRam)
Method Detail |
public void setReclaimSpace(boolean reclaim)
public void compress()
public java.lang.Object store(java.lang.Object o)
ObjectPager
store
in interface ObjectPager
public void update(java.lang.Object o, java.lang.Object id)
ObjectPager
update
in interface ObjectPager
public java.lang.Object retrieve(java.lang.Object id)
ObjectPager
retrieve
in interface ObjectPager
public void delete(java.lang.Object id)
ObjectPager
delete
in interface ObjectPager
private void writeLastObject()
private java.lang.Object loadFromDisk(java.lang.Object id)
public java.lang.String status()
public java.util.Iterator iterator()
ObjectPager
iterator
in interface ObjectPager
public static void main(java.lang.String[] argv)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |