Package org.h2.util

Class 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 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
    • Constructor Detail

      • CacheObject

        public CacheObject()
    • 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 interface java.lang.Comparable<CacheObject>
      • isStream

        public boolean isStream()