Package org.h2.util

Class CacheObject

java.lang.Object
org.h2.util.CacheObject
All Implemented Interfaces:
Comparable<CacheObject>
Direct Known Subclasses:
CacheHead

public abstract class CacheObject extends Object implements Comparable<CacheObject>
The base object for all cached objects.
  • Field Details

    • 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
  • Constructor Details

    • CacheObject

      public CacheObject()
  • Method Details

    • 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 interface Comparable<CacheObject>
    • isStream

      public boolean isStream()