# Interface UserDataReader

public interface UserDataReader
Reader that can interrogate a RowData to return the coordinate and mask values specified by a DataSpec. It is applied to a RowData obtained from the DataSpec's source table.

Instances of this object are not expected to be usable from multiple concurrent threads.

Since:
  10 Feb 2013
Author:
  Mark Taylor
See Also:
  - `DataSpec`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`getMaskFlag(uk.ac.starlink.table.RowData rdata, long irow)`
Returns the mask flag for a row.
`Object[]`
`getUserCoordValues(uk.ac.starlink.table.RowData rdata, long irow, int icoord)`
Returns a user coordinate value array for a given coordinate in a row.

## Method Details

### getMaskFlag

boolean getMaskFlag(uk.ac.starlink.table.RowData rdata, long irow) throws IOException
Returns the mask flag for a row.

Parameters:
  `rdata` - row data for the row
  `irow` - row index of the row
Returns:
  true iff the row of interest is included in the data set
Throws:
  `IOException`

### getUserCoordValues

Object[] getUserCoordValues(uk.ac.starlink.table.RowData rdata, long irow, int icoord) throws IOException
Returns a user coordinate value array for a given coordinate in a row. The returned value is an array which may be re-used, so it should not be assumed to retain its contents between calls to this method.

Parameters:
  `rdata` - row data
  `irow` - row index corresponding to the row
  `icoord` - coordinate index to read
Returns:
  array of user values (not storage values) for the specified coordinate at the row of interest
Throws:
  `IOException`