package nxm.sys.inc;

import nxm.sys.lib.Table;

/** An extension of {@link PlotFile} for use with classes that have Non-Homogeneous (record-based) data.

    @author  J. Czechowski IV
*/
public interface PlotFileNH extends RecordFile, PlotFile {
  /** Reads the next row of data from the file into the provided table. The entries inserted into
      the table will match {@link #getDataTable(double)}. In all cases, the table cleared before
      anything else is done.<br>
      <br>
      If the given offset is beyond the end of the file, a negative value will be returned and the
      table will be empty. In the extremely rare case that the file ends with a partial record,
      reading the partial record will result in a negative value being returned and the table will
      include only those values available.<br>
      <br>
      Note that providing an offset less than 0 will result in a negative return value.
      @param tbl The table to put the data into.
      @return 1 if successful, 0 if none available, &lt;0 if at end of file.
      @throws NullPointerException if <code>tbl</code> is null.
      @since NeXtMidas 2.5.4
   */
  int readDataTable (Table tbl); // move?
}
