this.page = page;
// Page numbers start out "invalid". Presumably the caller will
// link the page into a page chain as one of its next steps.
leftSiblingPageNumber =
new SQLLongint(ContainerHandle.INVALID_PAGE_NUMBER);
rightSiblingPageNumber =
new SQLLongint(ContainerHandle.INVALID_PAGE_NUMBER);
// Remember the parent if there is one and we're remembering parents.
parentPageNumber = new SQLLongint(
(parent == null ?
ContainerHandle.INVALID_PAGE_NUMBER :
parent.page.getPageNumber()));
// All pages start out not being root pages. The caller will setIsRoot
// if this is going to be a root page. Zero means false - see
// getIsRoot/setIsRoot.
this.isRoot = new SQLLongint(isRoot ? 1 : 0);
// set the rest of the state, as passed in.
this.level = new SQLLongint(level);
this.version = new StorableFormatId(getTypeFormatId());
// If it is a root page then store the real btree conglomerate, if it
// is not a root page then set up an "empty" btree conglomerate which
// will be stored as "null".