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

## Class ColGroupIO

- java.lang.Object
- - org.apache.sysds.runtime.compress.colgroup.ColGroupIO

    public class ColGroupIO
    extends Object

This has the IO responsibility of ColGroups, such that it enables to read and write ColGroups to and from a DataInput and DataOutput

### Constructor Summary

Constructors
`ColGroupIO()`

### Method Summary

All Methods Static Methods Concrete Methods
`static long` `getExactSizeOnDisk​(List<AColGroup> colGroups)` Get the size on disk for the given list of column groups
`static List<AColGroup>` `readGroups​(DataInput in, int nRows)` Read groups from a file.
`static void` `writeGroups​(DataOutput out, List<AColGroup> colGroups)` Writes the ColGroups out to the DataOutput.

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

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

### Constructor Detail

#### ColGroupIO

    public ColGroupIO()

### Method Detail

#### readGroups

    public static List<AColGroup> readGroups​(DataInput in,
                                             int nRows)
                                      throws IOException

Read groups from a file. Note that the information about how many should be in the file already.

Parameters:
  `in` - The Data input object to read from.
  `nRows` - The number of rows in the read groups.
Returns:
  Return a List containing the ColGroups from the DataInput.
Throws:
  `IOException` - Throws IO Exception if the in refuses to read data.

#### writeGroups

    public static void writeGroups​(DataOutput out,
                                   List<AColGroup> colGroups)
                            throws IOException

Writes the ColGroups out to the DataOutput.

Parameters:
  `out` - The DataOutput the ColGroups are written to
  `colGroups` - List of the ColGroups to write to file.
Throws:
  `IOException` - Throws IO Exception if the out refuses to write.

#### getExactSizeOnDisk

    public static long getExactSizeOnDisk​(List<AColGroup> colGroups)

Get the size on disk for the given list of column groups

Parameters:
  `colGroups` - A List of column groups to see the disk space required for.
Returns:
  The exact disk size required for writing the compressed matrix.