org.h2.store
Class PageFreeList

java.lang.Object
  extended by org.h2.util.CacheObject
      extended by org.h2.store.Page
          extended by org.h2.store.PageFreeList
All Implemented Interfaces:
java.lang.Comparable<CacheObject>

public class PageFreeList
extends Page

The list of free pages of a page store. The format of a free list trunk page is:


Field Summary
 
Fields inherited from class org.h2.store.Page
changeCount, FLAG_LAST, TYPE_BTREE_LEAF, TYPE_BTREE_NODE, TYPE_DATA_LEAF, TYPE_DATA_NODE, TYPE_DATA_OVERFLOW, TYPE_EMPTY, TYPE_FREE_LIST, TYPE_STREAM_DATA, TYPE_STREAM_TRUNK
 
Fields inherited from class org.h2.util.CacheObject
cacheChained, cacheNext, cachePrevious
 
Method Summary
 boolean canRemove()
          Check if the object can be removed from the cache.
 int getMemorySize()
          Get the estimated memory size.
static int getPagesAddressed(int pageSize)
          Get the number of pages that can fit in a free list.
 void moveTo(Session session, int newPos)
          Copy the data to a new location, change the parent to point to the new location, and free up the current page.
 java.lang.String toString()
           
 void write()
          Write the page.
 
Methods inherited from class org.h2.util.CacheObject
compareTo, getPos, isChanged, setChanged, setPos
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

write

public void write()
Description copied from class: Page
Write the page.

Specified by:
write in class Page

getPagesAddressed

public static int getPagesAddressed(int pageSize)
Get the number of pages that can fit in a free list.

Parameters:
pageSize - the page size
Returns:
the number of pages

getMemorySize

public int getMemorySize()
Get the estimated memory size.

Specified by:
getMemorySize in class CacheObject
Returns:
number of double words (4 bytes)

moveTo

public void moveTo(Session session,
                   int newPos)
Description copied from class: Page
Copy the data to a new location, change the parent to point to the new location, and free up the current page.

Specified by:
moveTo in class Page
Parameters:
session - the session
newPos - the new position

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

canRemove

public boolean canRemove()
Description copied from class: CacheObject
Check if the object can be removed from the cache. For example pinned objects can not be removed.

Specified by:
canRemove in class CacheObject
Returns:
true if it can be removed