# Class CLN1SectionWritableAbstract

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

All Implemented Interfaces:
  `CLNSectionWritableType, Closeable, AutoCloseable`

Direct Known Subclasses:
  `CLN1SectionWritableEnd, CLN1SectionWritableImage2D, CLN1SectionWritableImageArray, CLN1SectionWritableImageCube, CLN1SectionWritableImageInfo, CLN1SectionWritableMetadata, CLN1SectionWritableOther`

public abstract class CLN1SectionWritableAbstract extends Object implements CLNSectionWritableType
A writable section.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CLN1SectionWritableAbstract(com.io7m.jbssio.api.BSSWriterRandomAccessType inWriter, CLNWriteRequest inRequest, long inIdentifier, CLNOnCloseOperationType<CLNSectionWritableType> inOnClose)`
  A writable section.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final void`
  `close()`
  `final long`
  `identifier()`
  `protected final long`
  `offsetStart()`
  `protected final long`
  `offsetStartData()`
  `protected final CLNWriteRequest`
  `request()`
  `final SeekableByteChannel`
  `sectionDataChannel()`
  Obtain a writable channel that can write data within the section.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### CLN1SectionWritableAbstract

    public CLN1SectionWritableAbstract(com.io7m.jbssio.api.BSSWriterRandomAccessType inWriter, CLNWriteRequest inRequest, long inIdentifier, CLNOnCloseOperationType<CLNSectionWritableType> inOnClose)
    A writable section.
    Parameters:
      `inWriter` - A writer
      `inRequest` - A write request
      `inIdentifier` - An identifier
      `inOnClose` - A function executed on closing

- ## Method Details

  - ### identifier

    public final long identifier()
    Specified by:
      `identifier` in interface `CLNSectionWritableType`
    Returns:
      The section identifier

  - ### offsetStartData

    protected final long offsetStartData()

  - ### offsetStart

    protected final long offsetStart()

  - ### request

    protected final CLNWriteRequest request()

  - ### sectionDataChannel

    public final SeekableByteChannel sectionDataChannel() throws IOException
    Description copied from interface: `CLNSectionWritableType`
    Obtain a writable channel that can write data within the section.
    Specified by:
      `sectionDataChannel` in interface `CLNSectionWritableType`
    Returns:
      A readable channel
    Throws:
      `IOException` - On errors

  - ### close

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