org.apache.ignite.internal.processors.cache

## Class IgniteCacheOffheapManagerImpl.CacheDataTree

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.database.DataStructure
  - - org.apache.ignite.internal.processors.cache.database.tree.BPlusTree<CacheSearchRow,CacheDataRow>
    - - org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.CacheDataTree

All Implemented Interfaces:
  PageLockListener, IgniteTree<CacheSearchRow,CacheDataRow>

Enclosing class:
  IgniteCacheOffheapManagerImpl

    protected static class IgniteCacheOffheapManagerImpl.CacheDataTree
    extends BPlusTree<CacheSearchRow,CacheDataRow>

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.ignite.internal.processors.cache.database.tree.BPlusTree

`BPlusTree.DestroyBag`

### Nested classes/interfaces inherited from interface org.apache.ignite.internal.util.IgniteTree

`IgniteTree.InvokeClosure<T>, IgniteTree.OperationType`

### Field Summary

### Fields inherited from class org.apache.ignite.internal.processors.cache.database.tree.BPlusTree

`metaPageId`

### Fields inherited from class org.apache.ignite.internal.processors.cache.database.DataStructure

`cacheId, pageMem, reuseList, rnd, wal`

### Constructor Summary

Constructors
Constructor and Description
`IgniteCacheOffheapManagerImpl.CacheDataTree(String name, ReuseList reuseList, IgniteCacheOffheapManagerImpl.CacheDataRowStore rowStore, GridCacheContext cctx, long metaPageId, boolean initNew)`

### Method Summary

Methods
`protected int` `compare(BPlusIO<CacheSearchRow> io, long pageAddr, int idx, CacheSearchRow row)`
`protected CacheDataRow` `getRow(BPlusIO<CacheSearchRow> io, long pageAddr, int idx, Object flags)` Get data row.

### Methods inherited from class org.apache.ignite.internal.processors.cache.database.tree.BPlusTree

`destroy, destroy, find, findFirst, findLast, findOne, findOne, getFirstPageIds, getName, getRow, initTree, initTree, interruptAll, invoke, latestInnerIO, latestLeafIO, printTree, put, putx, remove, removex, rootLevel, setIos, size, toString, treeName, validateTree`

### Methods inherited from class org.apache.ignite.internal.processors.cache.database.DataStructure

`acquirePage, allocatePage, allocatePageNoReuse, getCacheId, init, needWalDeltaRecord, onBeforeReadLock, onBeforeWriteLock, onReadLock, onReadUnlock, onWriteLock, onWriteUnlock, pageSize, randomInt, read, read, readLock, readUnlock, recyclePage, releasePage, tryWriteLock, write, write, write, write, writeLock, writeUnlock, writeUnlock`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### IgniteCacheOffheapManagerImpl.CacheDataTree

    public IgniteCacheOffheapManagerImpl.CacheDataTree(String name,
                                               ReuseList reuseList,
                                               IgniteCacheOffheapManagerImpl.CacheDataRowStore rowStore,
                                               GridCacheContext cctx,
                                               long metaPageId,
                                               boolean initNew)
                                                throws IgniteCheckedException

Parameters:
  `name` - Tree name.
  `reuseList` - Reuse list.
  `rowStore` - Row store.
  `cctx` - Context.
  `metaPageId` - Meta page ID.
  `initNew` - Initialize new index.
Throws:
  `IgniteCheckedException` - If failed.

### Method Detail

#### compare

    protected int compare(BPlusIO<CacheSearchRow> io,
              long pageAddr,
              int idx,
              CacheSearchRow row)
                   throws IgniteCheckedException

Specified by:
  `compare` in class `BPlusTree<CacheSearchRow,CacheDataRow>`
Parameters:
  `io` - IO.
  `pageAddr` - Page address.
  `idx` - Index of row in the given buffer.
  `row` - Lookup row.
Returns:
  Comparison result as in `Comparator.compare(Object, Object)`.
Throws:
  `IgniteCheckedException` - If failed.

#### getRow

    protected CacheDataRow getRow(BPlusIO<CacheSearchRow> io,
                      long pageAddr,
                      int idx,
                      Object flags)
                           throws IgniteCheckedException

Get data row. Can be called on inner page only if `BPlusTree.canGetRowFromInner` is `true`.

Specified by:
  `getRow` in class `BPlusTree<CacheSearchRow,CacheDataRow>`
Parameters:
  `io` - IO.
  `pageAddr` - Page address.
  `idx` - Index.
  `flags` - Implementation specific argument, `null` always means that we need to return full detached data row.
Returns:
  Data row.
Throws:
  `IgniteCheckedException` - If failed.

2017 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.0.0
Release Date | : April 30 2017