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 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
Constructor
Description
`LongIndexReader(File indexFile)`
`LongIndexReader(File indexFile, HashMapIntObject<Object> pages, int size, int pageSize, long[] pageStart)`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### LongIndexReader

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

Throws:
  `IOException`

### LongIndexReader

public LongIndexReader(File indexFile) throws IOException

Throws:
  `IOException`

## Method Details

### 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()