Package org.h2.util
Class CacheObject
- java.lang.Object
-
- org.h2.util.CacheObject
-
- All Implemented Interfaces:
java.lang.Comparable<CacheObject>
- Direct Known Subclasses:
CacheHead
public abstract class CacheObject extends java.lang.Object implements java.lang.Comparable<CacheObject>
The base object for all cached objects.
-
-
Field Summary
Fields Modifier and Type Field Description CacheObjectcacheChainedThe next element in the hash chain.CacheObjectcacheNextThe next element in the LRU linked list.CacheObjectcachePreviousThe previous element in the LRU linked list.private booleanchangedprivate intpos
-
Constructor Summary
Constructors Constructor Description CacheObject()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract booleancanRemove()Check if the object can be removed from the cache.intcompareTo(CacheObject other)abstract intgetMemory()Get the estimated used memory.intgetPos()booleanisChanged()Check if this cache object has been changed and thus needs to be written back to the storage.booleanisStream()voidsetChanged(boolean b)voidsetPos(int pos)
-
-
-
Field Detail
-
cachePrevious
public CacheObject cachePrevious
The previous element in the LRU linked list. If the previous element is the head, then this element is the most recently used object.
-
cacheNext
public CacheObject cacheNext
The next element in the LRU linked list. If the next element is the head, then this element is the least recently used object.
-
cacheChained
public CacheObject cacheChained
The next element in the hash chain.
-
pos
private int pos
-
changed
private boolean changed
-
-
Method Detail
-
canRemove
public abstract boolean canRemove()
Check if the object can be removed from the cache. For example pinned objects can not be removed.- Returns:
- true if it can be removed
-
getMemory
public abstract int getMemory()
Get the estimated used memory.- Returns:
- number of words (one word is 4 bytes)
-
setPos
public void setPos(int pos)
-
getPos
public int getPos()
-
isChanged
public boolean isChanged()
Check if this cache object has been changed and thus needs to be written back to the storage.- Returns:
- if it has been changed
-
setChanged
public void setChanged(boolean b)
-
compareTo
public int compareTo(CacheObject other)
- Specified by:
compareToin interfacejava.lang.Comparable<CacheObject>
-
isStream
public boolean isStream()
-
-