# Class CLN2SectionReadableAbstract

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

All Implemented Interfaces:
  `CLNSectionReadableType, AutoCloseable`

Direct Known Subclasses:
  `CLN2SectionReadableEnd, CLN2SectionReadableImage2D, CLN2SectionReadableImageArray, CLN2SectionReadableImageCube, CLN2SectionReadableImageInfo, CLN2SectionReadableMetadata, CLN2SectionReadableOther`

public abstract class CLN2SectionReadableAbstract extends Object implements CLNSectionReadableType
An abstract readable section.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `CLN2SectionReadableAbstract(com.io7m.jbssio.api.BSSReaderRandomAccessType inReader, CLNParseRequest inRequest, com.io7m.entomos.core.EoFileSection inSection)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final void`
  `close()`
  `protected final CLNException`
  `errorLimitExceeded(long length, long limit, String limitName)`
  `protected final com.io7m.jbssio.api.BSSReaderRandomAccessType`
  `reader()`
  `protected final CLNParseRequest`
  `request()`
  `final com.io7m.entomos.core.EoFileSection`
  `section()`
  `final SeekableByteChannel`
  `sectionDataChannel()`
  Obtain a readable channel that delivers the data contained within the section.
  `protected final com.io7m.jbssio.api.BSSReaderRandomAccessType`
  `sectionDataReader()`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### CLN2SectionReadableAbstract

    protected CLN2SectionReadableAbstract(com.io7m.jbssio.api.BSSReaderRandomAccessType inReader, CLNParseRequest inRequest, com.io7m.entomos.core.EoFileSection inSection)

- ## Method Details

  - ### section

    public final com.io7m.entomos.core.EoFileSection section()
    Specified by:
      `section` in interface `CLNSectionReadableType`
    Returns:
      A section description

  - ### request

    protected final CLNParseRequest request()

  - ### reader

    protected final com.io7m.jbssio.api.BSSReaderRandomAccessType reader()

  - ### sectionDataReader

    protected final com.io7m.jbssio.api.BSSReaderRandomAccessType sectionDataReader() throws com.io7m.seltzer.io.SIOException
    Throws:
      `com.io7m.seltzer.io.SIOException`

  - ### sectionDataChannel

    public final SeekableByteChannel sectionDataChannel() throws CLNException
    Description copied from interface: `CLNSectionReadableType`
    Obtain a readable channel that delivers the data contained within the section.
    Specified by:
      `sectionDataChannel` in interface `CLNSectionReadableType`
    Returns:
      A readable channel
    Throws:
      `CLNException` - On errors

  - ### close

    public final void close()
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `CLNSectionReadableType`

  - ### errorLimitExceeded

    protected final CLNException errorLimitExceeded(long length, long limit, String limitName)