Package org.apache.sysds.runtime.compress.colgroup.offset

# Class OffsetByte

java.lang.Object
org.apache.sysds.runtime.compress.colgroup.offset.AOffset
org.apache.sysds.runtime.compress.colgroup.offset.AOffsetByte
org.apache.sysds.runtime.compress.colgroup.offset.OffsetByte

All Implemented Interfaces:
  `Serializable`, `ISliceOffset`

public class OffsetByte extends AOffsetByte

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.sysds.runtime.compress.colgroup.offset.AOffset

`AOffset.OffsetSliceInfo, AOffset.RemoveEmptyOffsetsTmp`

## Method Summary

Modifier and Type
Method
Description
`final AOffset`
`appendN(AOffsetsGroup[] g, int s)`
Append a list of offsets together in order.
`static long`
`estimateInMemorySize(int nOffs)`
`long`
`getExactSizeOnDisk()`
Remember to include the ordinal of the type of offset list.
`long`
`getInMemorySize()`
Get the in memory size of the Offset object
`AIterator`
`getIterator()`
Get an iterator of the offsets while also maintaining the data index pointer.
`AOffsetIterator`
`getOffsetIterator()`
Get an OffsetIterator of current offsets not maintaining the data index.
`int`
`getSize()`
Get the number of contained elements, This method iterate the entire offset list, so it is not constant lookup.
`AOffset`
`moveIndex(int m)`
Move the index start x cells
`static OffsetByte`
`readFields(DataInput in)`
`AOffset.OffsetSliceInfo`
`slice(int lowOff, int highOff, int lowValue, int highValue, int low, int high)`
`void`
`write(DataOutput out)`
Write the offsets to disk.

### Methods inherited from class org.apache.sysds.runtime.compress.colgroup.offset.AOffsetByte

`getLength, getOffsetToFirst, getOffsetToLast`

### Methods inherited from class org.apache.sysds.runtime.compress.colgroup.offset.AOffset

`append, cacheIterator, clearSkipList, constructSkipList, equals, equals, getIterator, preAggregateDenseMap, preAggSparseMap, removeEmptyRows, reverse, slice, toString, verify`

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

`getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Method Details

### getIterator

public AIterator getIterator()
Description copied from class: `AOffset`
Get an iterator of the offsets while also maintaining the data index pointer.

Specified by:
  `getIterator` in class `AOffset`
Returns:
  AIterator that iterate through index and dictionary offset values.

### getOffsetIterator

public AOffsetIterator getOffsetIterator()
Description copied from class: `AOffset`
Get an OffsetIterator of current offsets not maintaining the data index.

Specified by:
  `getOffsetIterator` in class `AOffset`
Returns:
  AIterator that iterator through the delta offsets.

### write

public void write(DataOutput out) throws IOException
Description copied from class: `AOffset`
Write the offsets to disk. If you implement another remember to write the ordinal of the new type to disk as well and add it to the OffsetFactory.

Specified by:
  `write` in class `AOffset`
Parameters:
  `out` - The output to write to
Throws:
  `IOException` - Exception that happens if the IO fails to write.

### getExactSizeOnDisk

public long getExactSizeOnDisk()
Description copied from class: `AOffset`
Remember to include the ordinal of the type of offset list.

Specified by:
  `getExactSizeOnDisk` in class `AOffset`
Returns:
  the size on disk as a long.

### getSize

public int getSize()
Description copied from class: `AOffset`
Get the number of contained elements, This method iterate the entire offset list, so it is not constant lookup.

Specified by:
  `getSize` in class `AOffset`
Returns:
  The number of indexes.

### getInMemorySize

public long getInMemorySize()
Description copied from class: `AOffset`
Get the in memory size of the Offset object

Specified by:
  `getInMemorySize` in class `AOffset`
Returns:
  In memory size as a long.

### estimateInMemorySize

public static long estimateInMemorySize(int nOffs)

### readFields

public static OffsetByte readFields(DataInput in) throws IOException

Throws:
  `IOException`

### slice

public AOffset.OffsetSliceInfo slice(int lowOff, int highOff, int lowValue, int highValue, int low, int high)

### moveIndex

public AOffset moveIndex(int m)
Description copied from class: `AOffset`
Move the index start x cells

Specified by:
  `moveIndex` in class `AOffset`
Parameters:
  `m` - The amount to move
Returns:
  The moved index.

### appendN

public final AOffset appendN(AOffsetsGroup[] g, int s)
Description copied from class: `AOffset`
Append a list of offsets together in order.

Overrides:
  `appendN` in class `AOffset`
Parameters:
  `g` - The offsets to append together (note fist entry is equal to this)
  `s` - The standard size of each g (except last, but that does not matter)
Returns:
  The combined offsets.