## org.exist.storage.btree
Class Paged

    java.lang.Object
      org.exist.storage.btree.Paged

Direct Known Subclasses:
  BTree

public abstract class Paged
extends java.lang.Object

Paged is a paged file foundation that is used by the BTree class and its subclasses.

Nested Class Summary
`class` `Paged.FileHeader` FileHeader
`class` `Paged.Page` Page
`static class` `Paged.PageHeader`

Constructor Summary
`Paged()`
`Paged(java.io.File file)`

Method Summary
`void` `backupToStream(java.io.OutputStream os)` Backup the entire contents of the underlying file to an output stream.
`boolean` `close()` Close the underlying files.
`void` `closeAndRemove()` Completely close down the instance and all underlying resources and caches.
`boolean` `create()`
`abstract Paged.FileHeader` `createFileHeader()` createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
`abstract Paged.FileHeader` `createFileHeader(boolean read)` createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
`abstract Paged.FileHeader` `createFileHeader(long pageCount)` createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
`abstract Paged.FileHeader` `createFileHeader(long pageCount, int pageSize)` createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
`abstract Paged.PageHeader` `createPageHeader()` createPageHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a PageHeader.
`boolean` `exists()`
`boolean` `flush()`
`java.io.File` `getFile()` getFile returns the file object for this Paged.
`Paged.FileHeader` `getFileHeader()` getFileHeader returns the FileHeader
`short` `getFileVersion()`
`static int` `getPageSize()`
`static java.lang.String` `hexDump(byte[] data)`
`boolean` `isOpened()` Gets the opened attribute of the Paged object
`boolean` `isReadOnly()`
`boolean` `open(short expectedVersion)`
`void` `printFreeSpaceList()` Debug
`static void` `setPageSize(int pageSize)`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Paged

    public Paged()

### Paged

    public Paged(java.io.File file)
          throws DBException

Method Detail

### getFileVersion

    public short getFileVersion()

### setPageSize

    public static final void setPageSize(int pageSize)

### getPageSize

    public static final int getPageSize()

### isReadOnly

    public final boolean isReadOnly()

### close

    public boolean close()
                  throws DBException

  Close the underlying files.

  Returns:
    TRUE if closed.
  Throws:
    `DBException`

### create

    public boolean create()
                   throws DBException

  Throws:
    `DBException`

### createFileHeader

    public abstract Paged.FileHeader createFileHeader()

  createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.

  Returns:
    a new FileHeader

### createFileHeader

    public abstract Paged.FileHeader createFileHeader(boolean read)
                                               throws java.io.IOException

  createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.

  Parameters:
    `read` - If true, reads the FileHeader from disk
  Returns:
    a new FileHeader
  Throws:
    `java.io.IOException` - if an exception occurs

### createFileHeader

    public abstract Paged.FileHeader createFileHeader(long pageCount)

  createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.

  Parameters:
    `pageCount` - The number of pages to allocate for primary storage
  Returns:
    a new FileHeader

### createFileHeader

    public abstract Paged.FileHeader createFileHeader(long pageCount,
                                                      int pageSize)

  createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.

  Parameters:
    `pageCount` - The number of pages to allocate for primary storage
    `pageSize` - The size of a Page (should be a multiple of a FS block)
  Returns:
    a new FileHeader

### createPageHeader

    public abstract Paged.PageHeader createPageHeader()

  createPageHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a PageHeader.

  Returns:
    a new PageHeader

### exists

    public boolean exists()

### flush

    public boolean flush()
                  throws DBException

  Throws:
    `DBException`

### backupToStream

    public void backupToStream(java.io.OutputStream os)
                        throws java.io.IOException

  Backup the entire contents of the underlying file to an output stream.

  Parameters:
    `os` -
  Throws:
    `java.io.IOException`

### getFile

    public final java.io.File getFile()

  getFile returns the file object for this Paged.

  Returns:
    The File

### getFileHeader

    public Paged.FileHeader getFileHeader()

  getFileHeader returns the FileHeader

  Returns:
    The FileHeader

### closeAndRemove

    public void closeAndRemove()

  Completely close down the instance and all underlying resources and caches.

### isOpened

    public boolean isOpened()

  Gets the opened attribute of the Paged object

  Returns:
    The opened value

### open

    public boolean open(short expectedVersion)
                 throws DBException

  Throws:
    `DBException`

### printFreeSpaceList

    public void printFreeSpaceList()
                            throws java.io.IOException

  Debug

  Throws:
    `java.io.IOException` - Description of the Exception

### hexDump

    public static java.lang.String hexDump(byte[] data)

Copyright (C) Wolfgang Meier. All rights reserved.