# Class CLN1FileReadable

java.lang.Object
com.io7m.calino.vanilla.internal.CLN1FileReadable

All Implemented Interfaces:
  `CLNFileReadableType, Closeable, AutoCloseable`

public final class CLN1FileReadable extends Object implements CLNFileReadableType
The main readable file implementation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `CLNSectionReadableType`
  `openSection(CLNFileSectionDescription description)`
  Open a section for reading.
  `List<CLNFileSectionDescription>`
  `sections()`
  `long`
  `trailingOctets()`
  Obtain the number of trailing octets in the file.
  `CLNVersion`
  `version()`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface CLNFileReadableType

  `openEnd, openImage2D, openImageArray, openImageCube, openImageInfo, openMetadata`

- ## Method Details

  - ### sections

    public List<CLNFileSectionDescription> sections()
    Specified by:
      `sections` in interface `CLNFileReadableType`
    Returns:
      The list of sections in the file

  - ### version

    public CLNVersion version()
    Specified by:
      `version` in interface `CLNFileReadableType`
    Returns:
      The file version

  - ### openSection

    public CLNSectionReadableType openSection(CLNFileSectionDescription description)
    Description copied from interface: `CLNFileReadableType`
    Open a section for reading.
    Specified by:
      `openSection` in interface `CLNFileReadableType`
    Parameters:
      `description` - The section description
    Returns:
      A readable section

  - ### trailingOctets

    public long trailingOctets()
    Description copied from interface: `CLNFileReadableType`
    Obtain the number of trailing octets in the file. This value should always be zero for valid files.
    Specified by:
      `trailingOctets` in interface `CLNFileReadableType`
    Returns:
      The number of trailing octets

  - ### close

    public void close() throws IOException
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Throws:
      `IOException`