EssencePartitionImpl (Media Authoring with Java API)
Date: 2016-02-05

tv.amwa.maj.io.mxf.impl

## Class EssencePartitionImpl

- java.lang.Object
- - tv.amwa.maj.io.mxf.impl.PartitionImpl
  - - tv.amwa.maj.io.mxf.impl.EssencePartitionImpl

- All Implemented Interfaces:
    Cloneable, MetadataObject, EssencePartition, Partition
  Direct Known Subclasses:
    BodyPartitionImpl, HeaderPartitionImpl

      public abstract class EssencePartitionImpl
      extends PartitionImpl
      implements EssencePartition, MetadataObject

- - ### Field Summary

    - ### Fields inherited from interface tv.amwa.maj.io.mxf.Partition

      `SIZE_UNKNOWN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EssencePartitionImpl()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `EssencePartition` | `clone()` Create a cloned copy of this partition.
    `long` | `fillToEnd()`
    `EssenceContainer` | `getEssenceContainer()`
    `void` | `initializeWritingBody()`
    `EssenceElement` | `readEssenceElement()`
    `void` | `rewind()`
    `void` | `updateSizes()` Update the size of partition based on the best information known at this time.
    `void` | `writeEssenceBlock(ByteBuffer essence)`
    `void` | `writeEssenceElementHeader(byte itemType, byte elementType, byte elementCount, byte elementItem, long length)`
    `void` | `writeEssenceElementHeader(int trackNumber, long length)`

    - ### Methods inherited from class tv.amwa.maj.io.mxf.impl.PartitionImpl

      `getActualSize, getInitialSize, getPartitionPack, hasEssenceContainer, hasHeaderMetadata, hasIndexTable, partitionFactory, readHeaderMetadata, readIndexTableSegment, setActualSize, setInitialDataSize, setPartitionPackPadding, toString, writeHeaderMetadata, writeIndexTableSegment, writePartitionPack, writeSingleIndexSegment`

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

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

    - ### Methods inherited from interface tv.amwa.maj.io.mxf.Partition

      `getActualSize, getInitialSize, getPartitionPack, hasEssenceContainer, hasHeaderMetadata, hasIndexTable, readHeaderMetadata, readIndexTableSegment, setInitialDataSize, setPartitionPackPadding, writeHeaderMetadata, writeIndexTableSegment, writeSingleIndexSegment`

- - ### Constructor Detail

    - #### EssencePartitionImpl

          public EssencePartitionImpl()

  - ### Method Detail

    - #### getEssenceContainer

          public EssenceContainer getEssenceContainer()

      Specified by:
        `getEssenceContainer` in interface `EssencePartition`

    - #### readEssenceElement

          public EssenceElement readEssenceElement()

      Specified by:
        `readEssenceElement` in interface `EssencePartition`

    - #### initializeWritingBody

          public void initializeWritingBody()
                                     throws NullPointerException,
                                            InsufficientSpaceException,
                                            IOException

      Specified by:
        `initializeWritingBody` in interface `EssencePartition`
      Throws:
        `NullPointerException`
        `InsufficientSpaceException`
        `IOException`

    - #### writeEssenceElementHeader

          public void writeEssenceElementHeader(byte itemType,
                                                byte elementType,
                                                byte elementCount,
                                                byte elementItem,
                                                long length)
                                         throws IOException

      Specified by:
        `writeEssenceElementHeader` in interface `EssencePartition`
      Throws:
        `IOException`

    - #### writeEssenceElementHeader

          public void writeEssenceElementHeader(int trackNumber,
                                                long length)
                                         throws IOException

      Specified by:
        `writeEssenceElementHeader` in interface `EssencePartition`
      Throws:
        `IOException`

    - #### writeEssenceBlock

          public void writeEssenceBlock(ByteBuffer essence)
                                 throws IOException

      Specified by:
        `writeEssenceBlock` in interface `EssencePartition`
      Throws:
        `IOException`

    - #### fillToEnd

          public long fillToEnd()
                         throws IOException

      Specified by:
        `fillToEnd` in interface `EssencePartition`
      Throws:
        `IOException`

    - #### rewind

          public void rewind()

    - #### updateSizes

          public void updateSizes()

      Description copied from interface: `Partition`

      Update the size of partition based on the best information known at this time.

      Specified by:
        `updateSizes` in interface `Partition`
      Overrides:
        `updateSizes` in class `PartitionImpl`
      See Also:
        `MXFFile.updatePackSizes()`

    - #### clone

          public EssencePartition clone()

      Description copied from interface: `Partition`

      Create a cloned copy of this partition.

      Specified by:
        `clone` in interface `EssencePartition`
      Specified by:
        `clone` in interface `Partition`
      Overrides:
        `clone` in class `PartitionImpl`
      Returns:
        Cloned copy of this partition.

(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.