Package org.eclipse.mat.parser.index

## Class IndexReader.LongIndexReader

- java.lang.Object
- - org.eclipse.mat.parser.index.IndexReader.LongIndexReader

All Implemented Interfaces:
  `IIndexReader`, `IIndexReader.IOne2LongIndex`

Enclosing class:
  IndexReader

    public static class IndexReader.LongIndexReader
    extends java.lang.Object
    implements IIndexReader.IOne2LongIndex

Creates a int to long index reader Disk file structure:

     Page 0: ArrayLongCompressed
     Page 1: ArrayLongCompressed
     ...
     Page n: ArrayLongCompressed
     page 0 start in file (8)
     page 1 start in file (8)
     ...
     page n start in file (8)
     page n+1 start in file (8) (i.e. location of 'page 0 start in file' field)
     page size (4)
     total size (4)

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.mat.parser.index.IIndexReader

`IIndexReader.IOne2LongIndex, IIndexReader.IOne2ManyIndex, IIndexReader.IOne2ManyObjectsIndex, IIndexReader.IOne2OneIndex, IIndexReader.IOne2SizeIndex`

### Constructor Summary

Constructors
`LongIndexReader​(java.io.File indexFile)`
`LongIndexReader​(java.io.File indexFile, HashMapIntObject<java.lang.Object> pages, int size, int pageSize, long[] pageStart)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Close the backing file.
`void` `delete()` Delete the backing file.
`long` `get​(int index)`
`long[]` `getNext​(int index, int length)`
`IteratorLong` `iterator()`
`int` `reverse​(long value)` Find the int corresponding to the long in the index value.
`void` `set​(int index, long value)`
`int` `size()`
`void` `unload()` Clear the caches.

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

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.mat.parser.index.IIndexReader

`size`

### Methods inherited from interface org.eclipse.mat.parser.index.IIndexReader.IOne2LongIndex

`get, getNext`

### Constructor Detail

#### LongIndexReader

    public LongIndexReader​(java.io.File indexFile,
                           HashMapIntObject<java.lang.Object> pages,
                           int size,
                           int pageSize,
                           long[] pageStart)
                    throws java.io.IOException

Throws:
  `java.io.IOException`

#### LongIndexReader

    public LongIndexReader​(java.io.File indexFile)
                    throws java.io.IOException

Throws:
  `java.io.IOException`

### Method Detail

#### close

    public void close()

Description copied from interface: `IIndexReader`
Close the backing file.

Specified by:
  `close` in interface `IIndexReader`

#### reverse

    public int reverse​(long value)

Description copied from interface: `IIndexReader.IOne2LongIndex`
Find the int corresponding to the long in the index value. The reverse of `IIndexReader.IOne2LongIndex.get(int)`

Specified by:
  `reverse` in interface `IIndexReader.IOne2LongIndex`
Parameters:
  `value` - the value to look up
Returns:
  the correspond int key in the index

#### unload

    public void unload()

Description copied from interface: `IIndexReader`
Clear the caches. Used when the indexes are not current in use and the memory needs to be reclaimed such as when building the dominator tree.

Specified by:
  `unload` in interface `IIndexReader`

#### delete

    public void delete()

Description copied from interface: `IIndexReader`
Delete the backing file.

Specified by:
  `delete` in interface `IIndexReader`

#### get

    public long get​(int index)

#### getNext

    public long[] getNext​(int index,
                          int length)

#### set

    public void set​(int index,
                    long value)

#### size

    public int size()

#### iterator

    public IteratorLong iterator()