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 CacheObject
cacheChained
The next element in the hash chain.CacheObject
cacheNext
The next element in the LRU linked list.CacheObject
cachePrevious
The previous element in the LRU linked list.private boolean
changed
private int
pos
-
Constructor Summary
Constructors Constructor Description CacheObject()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract boolean
canRemove()
Check if the object can be removed from the cache.int
compareTo(CacheObject other)
abstract int
getMemory()
Get the estimated used memory.int
getPos()
boolean
isChanged()
Check if this cache object has been changed and thus needs to be written back to the storage.boolean
isStream()
void
setChanged(boolean b)
void
setPos(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:
compareTo
in interfacejava.lang.Comparable<CacheObject>
-
isStream
public boolean isStream()
-
-