org.apache.ignite.internal.processors.cache.tree

## Class AbstractDataInnerIO

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO
  - - org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO<L>
    - - org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusInnerIO<CacheSearchRow>
      - - org.apache.ignite.internal.processors.cache.tree.AbstractDataInnerIO

All Implemented Interfaces:
  RowLinkIO

Direct Known Subclasses:
  CacheIdAwareDataInnerIO, DataInnerIO

    public abstract class AbstractDataInnerIO
    extends BPlusInnerIO<CacheSearchRow>
    implements RowLinkIO

### Field Summary

### Fields inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO

`ITEMS_OFF, itemSize`

### Fields inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO

`COMMON_HEADER_END, CRC_OFF, MAX_PAYLOAD_SIZE, PAGE_ID_OFF, T_BPLUS_META, T_CACHE_ID_AWARE_DATA_REF_INNER, T_CACHE_ID_AWARE_DATA_REF_LEAF, T_CACHE_ID_AWARE_PENDING_REF_INNER, T_CACHE_ID_AWARE_PENDING_REF_LEAF, T_DATA, T_DATA_METASTORAGE, T_DATA_REF_INNER, T_DATA_REF_LEAF, T_DATA_REF_METASTORAGE_INNER, T_DATA_REF_METASTORAGE_LEAF, T_H2_EX_REF_INNER_END, T_H2_EX_REF_INNER_START, T_H2_EX_REF_LEAF_END, T_H2_EX_REF_LEAF_START, T_H2_REF_INNER, T_H2_REF_LEAF, T_META, T_METASTORE_INNER, T_METASTORE_LEAF, T_PAGE_LIST_META, T_PAGE_LIST_NODE, T_PAGE_UPDATE_TRACKING, T_PART_CNTRS, T_PART_META, T_PENDING_REF_INNER, T_PENDING_REF_LEAF, TYPE_OFF, VER_OFF`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`int` `getHash(long pageAddr, int idx)`
`long` `getLink(long pageAddr, int idx)`
`CacheSearchRow` `getLookupRow(BPlusTree<CacheSearchRow,?> tree, long pageAddr, int idx)` Get lookup row.
`void` `store(long dstPageAddr, int dstIdx, BPlusIO<CacheSearchRow> srcIo, long srcPageAddr, int srcIdx)` Store row info from the given source.
`void` `storeByOffset(long pageAddr, int off, CacheSearchRow row)` Store the needed info about the row in the page.
`protected abstract boolean` `storeCacheId()`
`void` `visit(long pageAddr, IgniteInClosure<CacheSearchRow> c)`

### Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusInnerIO

`copyItems, getLeft, getMaxCount, getRight, initNewRoot, insert, offset, setLeft`

### Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO

`canGetRow, getCount, getForward, getItemSize, getRemoveId, initNewPage, isLeaf, merge, printPage, remove, setCount, setForward, setRemoveId, splitExistingPage, splitForwardPage, store`

### Methods inherited from class org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO

`getBPlusIO, getBPlusIO, getCrc, getCrc, getInnerVersions, getLeafVersions, getPageId, getPageId, getPageIO, getPageIO, getType, getType, getType, getVersion, getVersion, getVersion, isDataPageType, printPage, registerH2, registerH2ExtraInner, registerH2ExtraLeaf, registerTest, setCrc, setCrc, setPageId, setType, toString`

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

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

### Methods inherited from interface org.apache.ignite.internal.processors.cache.tree.RowLinkIO

`getCacheId`

### Method Detail

#### storeByOffset

    public void storeByOffset(long pageAddr,
                              int off,
                              CacheSearchRow row)

Store the needed info about the row in the page. Leaf and inner pages can store different info.

Specified by:
  `storeByOffset` in class `BPlusIO<CacheSearchRow>`
Parameters:
  `pageAddr` - Page address.
  `off` - Offset in bytes.
  `row` - Lookup or full row.

#### getLookupRow

    public CacheSearchRow getLookupRow(BPlusTree<CacheSearchRow,?> tree,
                                       long pageAddr,
                                       int idx)

Get lookup row.

Specified by:
  `getLookupRow` in class `BPlusIO<CacheSearchRow>`
Parameters:
  `tree` - Tree.
  `pageAddr` - Page address.
  `idx` - Index.
Returns:
  Lookup row.

#### store

    public void store(long dstPageAddr,
                      int dstIdx,
                      BPlusIO<CacheSearchRow> srcIo,
                      long srcPageAddr,
                      int srcIdx)

Store row info from the given source.

Specified by:
  `store` in class `BPlusIO<CacheSearchRow>`
Parameters:
  `dstPageAddr` - Destination page address.
  `dstIdx` - Destination index.
  `srcIo` - Source IO.
  `srcPageAddr` - Source page address.
  `srcIdx` - Source index.

#### getLink

    public long getLink(long pageAddr,
                        int idx)

Specified by:
  `getLink` in interface `RowLinkIO`
Parameters:
  `pageAddr` - Page address.
  `idx` - Index.
Returns:
  Row link.

#### getHash

    public int getHash(long pageAddr,
                       int idx)

Specified by:
  `getHash` in interface `RowLinkIO`
Parameters:
  `pageAddr` - Page address.
  `idx` - Index.
Returns:
  Key hash code.

#### visit

    public void visit(long pageAddr,
                      IgniteInClosure<CacheSearchRow> c)

Overrides:
  `visit` in class `BPlusIO<CacheSearchRow>`
Parameters:
  `pageAddr` - Page address.
  `c` - Closure.

#### storeCacheId

    protected abstract boolean storeCacheId()

Returns:
  `True` if cache ID has to be stored.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.5.0
Release Date | : May 23 2018