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
    Constructor | Description
    --- | ---
    `ColGroupIO()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.