Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013

com.healthmarketscience.jackcess
Class UsageMap

java.lang.Object
  extended by com.healthmarketscience.jackcess.UsageMap

public class UsageMap
extends java.lang.Object

Describes which database pages a particular table uses


Nested Class Summary
 class UsageMap.PageCursor
          Utility class to traverse over the pages in the UsageMap.
 
Field Summary
static byte MAP_TYPE_INLINE
          Inline map type
static byte MAP_TYPE_REFERENCE
          Reference map type, for maps that are too large to fit inline
 
Method Summary
 void addPageNumber(int pageNumber)
          Add a page number to this usage map
protected  int bitIndexToPageNumber(int bitIndex, int invalidPageNumber)
           
protected  void clearTableAndPages()
           
 boolean containsPageNumber(int pageNumber)
          Determines if the given page number is contained in this map.
 UsageMap.PageCursor cursor()
           
 Database getDatabase()
           
protected  int getEndPage()
           
protected  int getFirstPageNumber()
           
 JetFormat getFormat()
           
protected  int getLastPageNumber()
           
protected  int getNextBitIndex(int curIndex)
           
protected  int getNextPageNumber(int curPage)
           
 PageChannel getPageChannel()
           
 int getPageCount()
           
protected  java.util.BitSet getPageNumbers()
           
protected  int getPrevBitIndex(int curIndex)
           
protected  int getPrevPageNumber(int curPage)
           
protected  int getRowEnd()
           
protected  short getRowStart()
           
protected  int getStartOffset()
           
protected  int getStartPage()
           
protected  java.nio.ByteBuffer getTableBuffer()
           
protected  int getTablePageNumber()
           
protected  boolean isPageWithinRange(int pageNumber)
           
protected  int pageNumberToBitIndex(int pageNumber)
           
protected  void processMap(java.nio.ByteBuffer buffer, int bufferStartPage)
          Read in the page numbers in this inline map
static UsageMap read(Database database, int pageNum, int rowNum, boolean assumeOutOfRangeBitsOn)
           
 void removePageNumber(int pageNumber)
          Remove a page number from this usage map
protected  void removePageNumber(int pageNumber, boolean force)
          Remove a page number from this usage map
protected  void setPageRange(int newStartPage, int newEndPage)
           
protected  void setStartOffset(int startOffset)
           
 java.lang.String toString()
           
protected  void updateMap(int absolutePageNumber, int bufferRelativePageNumber, java.nio.ByteBuffer buffer, boolean add, boolean force)
           
protected  void writeTable()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAP_TYPE_INLINE

public static final byte MAP_TYPE_INLINE
Inline map type

See Also:
Constant Field Values

MAP_TYPE_REFERENCE

public static final byte MAP_TYPE_REFERENCE
Reference map type, for maps that are too large to fit inline

See Also:
Constant Field Values
Method Detail

getDatabase

public Database getDatabase()

getFormat

public JetFormat getFormat()

getPageChannel

public PageChannel getPageChannel()

read

public static UsageMap read(Database database,
                            int pageNum,
                            int rowNum,
                            boolean assumeOutOfRangeBitsOn)
                     throws java.io.IOException
Parameters:
database - database that contains this usage map
pageNum - Page number that this usage map is contained in
rowNum - Number of the row on the page that contains this usage map
Returns:
Either an InlineUsageMap or a ReferenceUsageMap, depending on which type of map is found
Throws:
java.io.IOException

cursor

public UsageMap.PageCursor cursor()

getPageCount

public int getPageCount()

getRowStart

protected short getRowStart()

getRowEnd

protected int getRowEnd()

setStartOffset

protected void setStartOffset(int startOffset)

getStartOffset

protected int getStartOffset()

getTableBuffer

protected java.nio.ByteBuffer getTableBuffer()

getTablePageNumber

protected int getTablePageNumber()

getStartPage

protected int getStartPage()

getEndPage

protected int getEndPage()

getPageNumbers

protected java.util.BitSet getPageNumbers()

setPageRange

protected void setPageRange(int newStartPage,
                            int newEndPage)

isPageWithinRange

protected boolean isPageWithinRange(int pageNumber)

getFirstPageNumber

protected int getFirstPageNumber()

getNextPageNumber

protected int getNextPageNumber(int curPage)

getNextBitIndex

protected int getNextBitIndex(int curIndex)

getLastPageNumber

protected int getLastPageNumber()

getPrevPageNumber

protected int getPrevPageNumber(int curPage)

getPrevBitIndex

protected int getPrevBitIndex(int curIndex)

bitIndexToPageNumber

protected int bitIndexToPageNumber(int bitIndex,
                                   int invalidPageNumber)

pageNumberToBitIndex

protected int pageNumberToBitIndex(int pageNumber)

clearTableAndPages

protected void clearTableAndPages()

writeTable

protected void writeTable()
                   throws java.io.IOException
Throws:
java.io.IOException

processMap

protected void processMap(java.nio.ByteBuffer buffer,
                          int bufferStartPage)
Read in the page numbers in this inline map


containsPageNumber

public boolean containsPageNumber(int pageNumber)
Determines if the given page number is contained in this map.


addPageNumber

public void addPageNumber(int pageNumber)
                   throws java.io.IOException
Add a page number to this usage map

Throws:
java.io.IOException

removePageNumber

public void removePageNumber(int pageNumber)
                      throws java.io.IOException
Remove a page number from this usage map

Throws:
java.io.IOException

removePageNumber

protected void removePageNumber(int pageNumber,
                                boolean force)
                         throws java.io.IOException
Remove a page number from this usage map

Throws:
java.io.IOException

updateMap

protected void updateMap(int absolutePageNumber,
                         int bufferRelativePageNumber,
                         java.nio.ByteBuffer buffer,
                         boolean add,
                         boolean force)
                  throws java.io.IOException
Throws:
java.io.IOException

toString

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

Elexis: Das führende OpenSource-Arztpraxisprogamm
im deutschsprachigen Raum
Java doc für Elexis version 2.1.7.dev vom 01.09.2013