# Class ArrayPrimitiveStore

java.lang.Object
uk.ac.starlink.table.storage.ArrayPrimitiveStore

All Implemented Interfaces:
  `ValueStore`

public class ArrayPrimitiveStore extends Object implements ValueStore
ValueStore implementation which stores primitive values in a normal java array.

Since:
  1 Nov 2005
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`ArrayPrimitiveStore(Class<?> clazz, int size)`
Constructs a new store.

## Method Summary

Modifier and Type
Method
Description
`void`
`get(long index, Object array, int ioff, int count)`
Retrieves a vector of values from this object.
`long`
`getLength()`
Returns the length of the vector.
`Class<?>`
`getType()`
Returns the class of value which this object can store.
`void`
`put(long index, Object array, int ioff, int count)`
Stores a vector of values in this object.

### Methods inherited from class Object

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

## Constructor Details

### ArrayPrimitiveStore

public ArrayPrimitiveStore(Class<?> clazz, int size)
Constructs a new store. The supplied `clazz` must be a primitive type such as `int.class`.

Parameters:
  `clazz` - primitive type to store
  `size` - length of the vector

## Method Details

### getType

public Class<?> getType()
Description copied from interface: `ValueStore`
Returns the class of value which this object can store.

Specified by:
  `getType` in interface `ValueStore`
Returns:
  primitive class

### getLength

public long getLength()
Description copied from interface: `ValueStore`
Returns the length of the vector.

Specified by:
  `getLength` in interface `ValueStore`
Returns:
  vector length

### put

public void put(long index, Object array, int ioff, int count)
Description copied from interface: `ValueStore`
Stores a vector of values in this object. `array` must be an array of values matching `getType`. Element `ioff` of `array` is stored at index `index`, elemnt `ioff+1` at `index+1`, etc.

Specified by:
  `put` in interface `ValueStore`
Parameters:
  `index` - starting offset to write to
  `array` - array of values to store
  `ioff` - offset into array from which the first value is taken
  `count` - number of values to transfer

### get

public void get(long index, Object array, int ioff, int count)
Description copied from interface: `ValueStore`
Retrieves a vector of values from this object. `array` must be an array of type matching `getType`. Every element of `array` will be filled with values; the first retrieved from offset `index`, the second from `index+1`, etc.

Specified by:
  `get` in interface `ValueStore`
Parameters:
  `index` - starting offset
  `array` - array to accept data
  `ioff` - offset into array to which the first value is copied
  `count` - number of values to transfer