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

tv.amwa.maj.io.mxf.impl

## Class PartitionPackImpl

- java.lang.Object
- - tv.amwa.maj.io.mxf.impl.PartitionPackImpl

- All Implemented Interfaces:
    Cloneable, MetadataObject, FixedLengthPack, MXFUnit, Padded, PartitionPack
  Direct Known Subclasses:
    BodyPartitionPackImpl, FooterPartitionPackImpl, HeaderPartitionPackImpl

      @MediaClass(uuid1=218169857,
                  uuid2=256,
                  uuid3=0,
                  uuid4={6,14,43,52,2,5,1,1},
                  definedName="PartitionPack",
                  description="A partition pack describes a single partition within an MXF file.",
                  namespace="http://www.smpte-ra.org/rp210",
                  prefix="mxf",
                  symbol="PartitionPack")
      public abstract class PartitionPackImpl
      extends Object
      implements MetadataObject, FixedLengthPack, PartitionPack, Cloneable, Padded

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String[]` | `packOrder`

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

      `BODYSID_DEFAULT, FOOTERPARTITION_DEFAULT, HEADERBYTECOUNT_DEFAULT, INDEXBYTECOUNT_DEFAULT, INDEXSID_DEFAULT, MAJORVERSION_DEFAULT, MINORVERSION_DEFAULT, PREVIOUSPARTITION_DEFAULT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PartitionPackImpl()`
    `PartitionPackImpl(int kagSize, long thisPartition, long bodyOffset, AUID operationalPattern)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEssenceContainer(AUID essenceContainerID)` Add an identifier for the kinds of essence found in or referenced by the MXF file containing this partition.
    `PartitionPack` | `clone()` Create a cloned copy of this partition pack.
    `long` | `getBodyOffset()` Returns the byte offset to the essence container in this partition from the start of the partition pack.
    `int` | `getBodySID()` Returns the identifier of the essence container in this partition.
    `int` | `getEncodedSize()` Calculates the number of bytes it will take to encode this partition pack.
    `Set<AUID>` | `getEssenceContainers()` Returns a set of identifiers for the kinds of essence found in or referenced by the MXF file containing this partition.
    `long` | `getFooterPartition()` Returns the byte offset of the footer partition in the file.
    `long` | `getHeaderByteCount()` Returns the number of bytes used for header metadata in this partition.
    `long` | `getIndexByteCount()` Returns the number of bytes used for index table segments in this partition.
    `int` | `getIndexSID()` Returns the identifier of index table segments in this partition.
    `int` | `getKagSize()` Returns the key alignment grid size for KLV data triplets in this partition.
    `short` | `getMajorVersion()` Returns the major version number of the MXF byte-level format.
    `short` | `getMinorVersion()` Returns the minor version number of the MXF byte-level format.
    `AUID` | `getOperationalPattern()` Returns the operational pattern of the MXF file.
    `String[]` | `getPackOrder()` Returns a list of property names in the order they need to be serialized to a stream.
    `long` | `getPaddingFillSize()` Returns the number of padding bytes following a significant entry in a partition, such as a partition pack or index table.
    `long` | `getPreviousPartition()` Returns the byte offset of the previous partition in the file.
    `long` | `getThisPartition()` Returns the byte offset of this partition in the file.
    `static long` | `initializeBodyOffset()`
    `static int` | `initializeBodySID()`
    `static Set<AUID>` | `initializeEssenceContainers()`
    `static long` | `initializeFooterPartition()`
    `static long` | `initializeHeaderByteCount()`
    `static long` | `initializeIndexByteCount()`
    `static int` | `initializeIndexSID()`
    `static int` | `initializeKAGSize()`
    `static short` | `initializeMajorVersion()`
    `static short` | `initializeMinorVersion()`
    `static AUID` | `initializeOperationalPattern()`
    `static void` | `initializePackClasses()`
    `static long` | `initializePreviousPartition()`
    `static long` | `initializeThisPartition()`
    `static PartitionPack` | `readPartitionPack(MXFFileImpl material)`
    `void` | `setBodyOffset(long bodyOffset)` Sets byte offset to the essence container in this partition from the start of the partition pack.
    `void` | `setBodySID(int bodySID)` Sets the identifier of the essence container in this partition.
    `void` | `setEssenceContainers(Set<AUID> essenceContainers)` Sets a set of identifiers for the kinds of essence found in or referenced by the MXF file containing this partition.
    `void` | `setFooterPartition(long footerPartition)` Sets the byte offset of the footer partition in the file.
    `void` | `setHeaderByteCount(long headerByteCount)` Sets the number of bytes used for header metadata in this partition.
    `void` | `setIndexByteCount(long indexByteCount)` Sets the number of bytes used for index table segments in this partition.
    `void` | `setIndexSID(int indexSID)` Sets the identifier of index table segments in this partition.
    `void` | `setKagSize(int kagSize)` Sets the key alignment grid size for KLV data triplets in this partition.
    `void` | `setMajorVersion(short majorVersion)` Sets the major version number of the MXF byte-level format.
    `void` | `setMinorVersion(short minorVersion)` Sets the minor version number of the MXF byte-level format.
    `void` | `setOperationalPattern(AUID operationalPattern)` Sets the operational pattern of the MXF file containing this partition.
    `void` | `setPaddingFillSize(long paddingFillSize)` Set the amount of padding to include after each significant entry in the partition, allowing space for the metadata to expand over time.
    `void` | `setPreviousPartition(long previousPartition)` Sets the byte offset of the previous partition in the file to this one.
    `void` | `setThisPartition(long thisPartition)` Returns the byte offset of this partition in the file.
    `String` | `toString()`

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

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

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

      `getUnitType`

- - ### Field Detail

    - #### packOrder

          public static final String[] packOrder

  - ### Constructor Detail

    - #### PartitionPackImpl

          public PartitionPackImpl()

    - #### PartitionPackImpl

          public PartitionPackImpl(@UInt32
                                   int kagSize,
                                   @UInt64
                                   long thisPartition,
                                   @UInt64
                                   long bodyOffset,
                                   AUID operationalPattern)

  - ### Method Detail

    - #### initializePackClasses

          public static final void initializePackClasses()

    - #### getMajorVersion

          @MediaProperty(uuid1=50397697,
                         uuid2=1536,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="Major Version",
                         typeName="UInt16",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="MajorVersion")
           @UInt16
          public short getMajorVersion()

      Description copied from interface: `PartitionPack`

      Returns the major version number of the MXF byte-level format. A change in number is a warning that the file may not be backward compatible.

      Specified by:
        `getMajorVersion` in interface `PartitionPack`
      Returns:
        Major version number of the MXF byte-level format.
      See Also:
        `PartitionPack.MAJORVERSION_DEFAULT`, `PartitionPack.getMinorVersion()`

    - #### setMajorVersion

          @MediaPropertySetter(value="Major Version")
          public void setMajorVersion(@UInt16
                                                                                  short majorVersion)

      Description copied from interface: `PartitionPack`

      Sets the major version number of the MXF byte-level format. A change in number is a warning that the file may not be backward compatible.

      Specified by:
        `setMajorVersion` in interface `PartitionPack`
      Parameters:
        `majorVersion` - Major version number of the MXF byte-level format.
      See Also:
        `PartitionPack.MAJORVERSION_DEFAULT`, `PartitionPack.setMinorVersion(short)`

    - #### getMinorVersion

          @MediaProperty(uuid1=50397697,
                         uuid2=1792,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="Minor Version",
                         typeName="UInt16",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="MinorVersion")
           @UInt16
          public short getMinorVersion()

      Description copied from interface: `PartitionPack`

      Returns the minor version number of the MXF byte-level format. Newer versions indicated by this number should be backward-compatible with previous versions.

      Specified by:
        `getMinorVersion` in interface `PartitionPack`
      Returns:
        Minor version number of the MXF byte-level format.
      See Also:
        `PartitionPack.MINORVERSION_DEFAULT`, `PartitionPack.getMajorVersion()`

    - #### setMinorVersion

          @MediaPropertySetter(value="Minor Version")
          public void setMinorVersion(@UInt16
                                                                                  short minorVersion)

      Description copied from interface: `PartitionPack`

      Sets the minor version number of the MXF byte-level format. Newer versions indicated by this number should be backward-compatible with previous versions.

      Specified by:
        `setMinorVersion` in interface `PartitionPack`
      Parameters:
        `minorVersion` - Minor version number of the MXF byte-level format.
      See Also:
        `PartitionPack.MINORVERSION_DEFAULT`, `PartitionPack.setMajorVersion(short)`

    - #### getKagSize

          @MediaProperty(uuid1=50397697,
                         uuid2=2304,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="KAGSize",
                         aliases="KAG Size",
                         typeName="UInt32",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="KAGSize")
           @UInt32
          public int getKagSize()

      Description copied from interface: `PartitionPack`

      Returns the key alignment grid size for KLV data triplets in this partition.

      Specified by:
        `getKagSize` in interface `PartitionPack`
      Returns:
        Key alignment grid size for KLV data triplets in this partition.

    - #### setKagSize

          @MediaPropertySetter(value="KAGSize")
          public void setKagSize(@UInt32
                                                                       int kagSize)

      Description copied from interface: `PartitionPack`

      Sets the key alignment grid size for KLV data triplets in this partition.

      Specified by:
        `setKagSize` in interface `PartitionPack`
      Parameters:
        `kagSize` - Key alignment grid size for KLV data triplets in this partition.

    - #### getThisPartition

          @MediaProperty(uuid1=101715971,
                         uuid2=256,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="ThisPartition",
                         aliases="Current Number in Sequence",
                         typeName="UInt64",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="ThisPartition")
           @UInt64
          public long getThisPartition()

      Description copied from interface: `PartitionPack`

      Returns the byte offset of this partition in the file.

      Specified by:
        `getThisPartition` in interface `PartitionPack`
      Returns:
        Byte offset of this partition in the file.
      See Also:
        `PartitionPack.getPreviousPartition()`, `PartitionPack.getFooterPartition()`

    - #### setThisPartition

          @MediaPropertySetter(value="ThisPartition")
          public void setThisPartition(@UInt64
                                                                                   long thisPartition)

      Description copied from interface: `PartitionPack`

      Returns the byte offset of this partition in the file.

      Specified by:
        `setThisPartition` in interface `PartitionPack`
      Parameters:
        `thisPartition` - Byte offset of this partition in the file.
      See Also:
        `PartitionPack.setPreviousPartition(long)`, `PartitionPack.setFooterPartition(long)`

    - #### getPreviousPartition

          @MediaProperty(uuid1=101715970,
                         uuid2=256,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="PreviousPartition",
                         aliases="Previous Number in Sequence",
                         typeName="UInt64",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="PreviousPartition")
           @UInt64
          public long getPreviousPartition()

      Description copied from interface: `PartitionPack`

      Returns the byte offset of the previous partition in the file.

      Specified by:
        `getPreviousPartition` in interface `PartitionPack`
      Returns:
        Byte offset of the previous partition in the file.
      See Also:
        `PartitionPack.PREVIOUSPARTITION_DEFAULT`, `PartitionPack.getThisPartition()`, `PartitionPack.getFooterPartition()`

    - #### setPreviousPartition

          @MediaPropertySetter(value="PreviousPartition")
          public void setPreviousPartition(@UInt64
                                                                                           long previousPartition)

      Description copied from interface: `PartitionPack`

      Sets the byte offset of the previous partition in the file to this one.

      Specified by:
        `setPreviousPartition` in interface `PartitionPack`
      Parameters:
        `previousPartition` - byte offset of the previous partition in the file to this one.
      See Also:
        `PartitionPack.PREVIOUSPARTITION_DEFAULT`, `PartitionPack.setPreviousPartition(long)`, `PartitionPack.setThisPartition(long)`

    - #### getFooterPartition

          @MediaProperty(uuid1=101715973,
                         uuid2=256,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="FooterPartition",
                         aliases="Last Number in Sequence",
                         typeName="UInt64",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="FooterPartition")
           @UInt64
          public long getFooterPartition()

      Description copied from interface: `PartitionPack`

      Returns the byte offset of the footer partition in the file.

      Specified by:
        `getFooterPartition` in interface `PartitionPack`
      Returns:
        Byte offset of the footer partition in the file.
      See Also:
        `PartitionPack.FOOTERPARTITION_DEFAULT`, `PartitionPack.getThisPartition()`, `PartitionPack.getPreviousPartition()`

    - #### setFooterPartition

          @MediaPropertySetter(value="FooterPartition")
          public void setFooterPartition(@UInt64
                                                                                       long footerPartition)

      Description copied from interface: `PartitionPack`

      Sets the byte offset of the footer partition in the file.

      Specified by:
        `setFooterPartition` in interface `PartitionPack`
      Parameters:
        `footerPartition` - Byte offset of the footer partition in the file.
      See Also:
        `PartitionPack.FOOTERPARTITION_DEFAULT`, `PartitionPack.setThisPartition(long)`, `PartitionPack.setPreviousPartition(long)`

    - #### getHeaderByteCount

          @MediaProperty(uuid1=67504385,
                         uuid2=0,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="HeaderByteCount",
                         aliases="Header Byte Count",
                         typeName="UInt64",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="HeaderByteCount")
           @UInt64
          public long getHeaderByteCount()

      Description copied from interface: `PartitionPack`

      Returns the number of bytes used for header metadata in this partition. The value includes any primer pack, metadata sets and trailing fill. A value of zero indicates that no header metadata is present in this partition.

      Specified by:
        `getHeaderByteCount` in interface `PartitionPack`
      Returns:
        Number of bytes used for header metadata in this partition.
      See Also:
        `PartitionPack.HEADERBYTECOUNT_DEFAULT`

    - #### setHeaderByteCount

          @MediaPropertySetter(value="HeaderByteCount")
          public void setHeaderByteCount(@UInt64
                                                                                       long headerByteCount)

      Description copied from interface: `PartitionPack`

      Sets the number of bytes used for header metadata in this partition. The value includes any primer pack, metadata sets and trailing fill. A value of zero indicates that no header metadata is present in this partition.

      Specified by:
        `setHeaderByteCount` in interface `PartitionPack`
      Parameters:
        `headerByteCount` - Number of bytes used for header metadata in this partition.
      See Also:
        `PartitionPack.HEADERBYTECOUNT_DEFAULT`, `PartitionPack.setIndexByteCount(long)`

    - #### getIndexByteCount

          @MediaProperty(uuid1=67504386,
                         uuid2=0,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="IndexByteCount",
                         aliases="Index Byte Count",
                         typeName="UInt64",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="IndexByteCount")
           @UInt64
          public long getIndexByteCount()

      Description copied from interface: `PartitionPack`

      Returns the number of bytes used for index table segments in this partition. This includes the key for the first index table segment and any trailing fill.

      Note that the presence of absence of index table data is determined from the index SID value.

      Specified by:
        `getIndexByteCount` in interface `PartitionPack`
      Returns:
        Number of bytes used for header metadata in this partition.
      See Also:
        `PartitionPack.INDEXBYTECOUNT_DEFAULT`, `PartitionPack.getHeaderByteCount()`, `PartitionPack.getIndexSID()`

    - #### setIndexByteCount

          @MediaPropertySetter(value="IndexByteCount")
          public void setIndexByteCount(@UInt64
                                                                                     long indexByteCount)

      Description copied from interface: `PartitionPack`

      Sets the number of bytes used for index table segments in this partition. This includes the key for the first index table segment and any trailing fill.

      Note that the presence of absence of index table data is determined from the index SID value.

      Specified by:
        `setIndexByteCount` in interface `PartitionPack`
      Parameters:
        `indexByteCount` - Number of bytes used for header metadata in this partition.
      See Also:
        `PartitionPack.INDEXBYTECOUNT_DEFAULT`, `PartitionPack.setHeaderByteCount(long)`

    - #### getIndexSID

          @MediaProperty(uuid1=16974853,
                         uuid2=0,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="IndexSID",
                         aliases="Index Stream ID",
                         typeName="UInt32",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="IndexSID")
           @UInt32
          public int getIndexSID()

      Description copied from interface: `PartitionPack`

      Returns the identifier of index table segments in this partition. A value of zero indicates that no index table data is present for this partition.

      Specified by:
        `getIndexSID` in interface `PartitionPack`
      Returns:
        Identifier of index table segments in this partition.
      See Also:
        `PartitionPack.INDEXSID_DEFAULT`, `PartitionPack.getIndexByteCount()`

    - #### setIndexSID

          @MediaPropertySetter(value="IndexSID")
          public void setIndexSID(int indexSID)

      Description copied from interface: `PartitionPack`

      Sets the identifier of index table segments in this partition. A value of zero indicates that no index table data is present for this partition.

      Specified by:
        `setIndexSID` in interface `PartitionPack`
      Parameters:
        `indexSID` - Identifier of index table segments in this partition.
      See Also:
        `PartitionPack.INDEXSID_DEFAULT`, `PartitionPack.setIndexByteCount(long)`

    - #### getBodyOffset

          @MediaProperty(uuid1=101187842,
                         uuid2=259,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="BodyOffset",
                         aliases="Stream Position Indicator",
                         typeName="UInt64",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="BodyOffset")
           @UInt64
          public long getBodyOffset()

      Description copied from interface: `PartitionPack`

      Returns the byte offset to the essence container in this partition from the start of the partition pack.

      Specified by:
        `getBodyOffset` in interface `PartitionPack`
      Returns:
        Byte offset to the essence container in this partition from the start of the partition pack.
      See Also:
        `PartitionPack.getBodySID()`

    - #### setBodyOffset

          @MediaPropertySetter(value="BodyOffset")
          public void setBodyOffset(@UInt64
                                                                             long bodyOffset)

      Description copied from interface: `PartitionPack`

      Sets byte offset to the essence container in this partition from the start of the partition pack.

      Specified by:
        `setBodyOffset` in interface `PartitionPack`
      Parameters:
        `bodyOffset` - Byte offset to the essence container in this partition from the start of the partition pack.
      See Also:
        `PartitionPack.setBodySID(int)`

    - #### getBodySID

          @MediaProperty(uuid1=16974852,
                         uuid2=0,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,4},
                         definedName="BodySID",
                         aliases="Essence Stream ID",
                         typeName="UInt32",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="BodySID")
           @UInt32
          public int getBodySID()

      Description copied from interface: `PartitionPack`

      Returns the identifier of the essence container in this partition. A value of zero indicates that no essence container data is present for this partition.

      Specified by:
        `getBodySID` in interface `PartitionPack`
      Returns:
        Identifier of the essence container in this partition.
      See Also:
        `PartitionPack.BODYSID_DEFAULT`, `PartitionPack.getIndexSID()`, `PartitionPack.getBodyOffset()`

    - #### setBodySID

          @MediaPropertySetter(value="BodySID")
          public void setBodySID(@UInt32
                                                                       int bodySID)

      Description copied from interface: `PartitionPack`

      Sets the identifier of the essence container in this partition. A value of zero indicates that no essence container data is present for this partition.

      Specified by:
        `setBodySID` in interface `PartitionPack`
      Parameters:
        `bodySID` - Identifier of the essence container in this partition.
      See Also:
        `PartitionPack.BODYSID_DEFAULT`, `PartitionPack.setIndexSID(int)`, `PartitionPack.setBodyOffset(long)`

    - #### getOperationalPattern

          @MediaProperty(uuid1=16908803,
                         uuid2=0,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="Operational Pattern",
                         typeName="AUID",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="OperationalPattern")
          public AUID getOperationalPattern()

      Description copied from interface: `PartitionPack`

      Returns the operational pattern of the MXF file.

      Specified by:
        `getOperationalPattern` in interface `PartitionPack`
      Returns:
        Operational pattern of the MXF file.
      See Also:
        `Preface.getOperationalPattern()`, `OperationalPatternConstant`

    - #### setOperationalPattern

          @MediaPropertySetter(value="Operational Pattern")
          public void setOperationalPattern(AUID operationalPattern)

      Description copied from interface: `PartitionPack`

      Sets the operational pattern of the MXF file containing this partition.

      Specified by:
        `setOperationalPattern` in interface `PartitionPack`
      Parameters:
        `operationalPattern` - Operational pattern of the MXF file.
      See Also:
        `Preface.setOperationalPattern(AUID)`, `OperationalPatternConstant`

    - #### getEssenceContainers

          @MediaProperty(uuid1=16908816,
                         uuid2=513,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="EssenceContainers",
                         typeName="AUIDSet",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="EssenceContainers")
          public Set<AUID> getEssenceContainers()

      Description copied from interface: `PartitionPack`

      Returns a set of identifiers for the kinds of essence found in or referenced by the MXF file containing this partition.

      Specified by:
        `getEssenceContainers` in interface `PartitionPack`
      Returns:
        Set of identifiers for the kinds of essence found in or referenced by the MXF file.
      See Also:
        `PartitionPack.addEssenceContainer(AUID)`, `Preface.getEssenceContainers()`, `ContainerConstant`, `ContainerDefinition`

    - #### setEssenceContainers

          @MediaPropertySetter(value="EssenceContainers")
          public void setEssenceContainers(Set<AUID> essenceContainers)

      Description copied from interface: `PartitionPack`

      Sets a set of identifiers for the kinds of essence found in or referenced by the MXF file containing this partition.

      Specified by:
        `setEssenceContainers` in interface `PartitionPack`
      Parameters:
        `essenceContainers` - Set of identifiers for the kinds of essence found in or referenced by the MXF file.
      See Also:
        `PartitionPack.addEssenceContainer(AUID)`, `Preface.getEssenceContainers()`, `ContainerConstant`, `ContainerDefinition`

    - #### addEssenceContainer

          @MediaSetAdd(value="EssenceContainer")
          public void addEssenceContainer(AUID essenceContainerID)
                                                                          throws NullPointerException

      Description copied from interface: `PartitionPack`

      Add an identifier for the kinds of essence found in or referenced by the MXF file containing this partition.

      Specified by:
        `addEssenceContainer` in interface `PartitionPack`
      Parameters:
        `essenceContainerID` - Identifier for a kind of essence found of referenced by the MXF file.
      Throws:
        `NullPointerException` - Cannot add a `null` identifier to the set of container essence types.
      See Also:
        `PartitionPack.getEssenceContainers()`, `Preface.getEssenceContainers()`, `ContainerConstant`, `ContainerDefinition`

    - #### getPackOrder

          public String[] getPackOrder()

      Description copied from interface: `FixedLengthPack`

      Returns a list of property names in the order they need to be serialized to a stream.

      Specified by:
        `getPackOrder` in interface `FixedLengthPack`
      Returns:
        List of property names in the order they need to be serialized.
      See Also:
        `MXFBuilder.readFixedLengthPack(tv.amwa.maj.record.AUID, java.nio.ByteBuffer)`, `MXFBuilder.writeFixedLengthPack(FixedLengthPack, java.nio.ByteBuffer)`

    - #### getPaddingFillSize

          public long getPaddingFillSize()

      Description copied from interface: `Padded`

      Returns the number of padding bytes following a significant entry in a partition, such as a partition pack or index table.

      Specified by:
        `getPaddingFillSize` in interface `Padded`
      Returns:
        Padding bytes following a significant entry in a partition.

    - #### getEncodedSize

          public int getEncodedSize()

      Description copied from interface: `PartitionPack`

      Calculates the number of bytes it will take to encode this partition pack.

      Specified by:
        `getEncodedSize` in interface `PartitionPack`
      Returns:
        Number of bytes required to encode this partition pack.

    - #### setPaddingFillSize

          public void setPaddingFillSize(long paddingFillSize)
                                  throws IllegalArgumentException

      Description copied from interface: `Padded`

      Set the amount of padding to include after each significant entry in the partition, allowing space for the metadata to expand over time.

      Specified by:
        `setPaddingFillSize` in interface `Padded`
      Parameters:
        `paddingFillSize` - Size of padding to include after the partition.
      Throws:
        `IllegalArgumentException` - Cannot set the padding size to a negative value.
      See Also:
        `Partition.setPartitionPackPadding(long)`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### clone

          public PartitionPack clone()

      Description copied from interface: `PartitionPack`

      Create a cloned copy of this partition pack.

      Specified by:
        `clone` in interface `PartitionPack`
      Overrides:
        `clone` in class `Object`
      Returns:
        Cloned copy of this partition pack.

    - #### readPartitionPack

          public static final PartitionPack readPartitionPack(MXFFileImpl material)
                                                       throws EndOfDataException

      Throws:
        `EndOfDataException`

    - #### initializeMajorVersion

          public static final short initializeMajorVersion()

    - #### initializeMinorVersion

          public static final short initializeMinorVersion()

    - #### initializeKAGSize

          public static final int initializeKAGSize()

    - #### initializeThisPartition

          public static final long initializeThisPartition()

    - #### initializePreviousPartition

          public static final long initializePreviousPartition()

    - #### initializeFooterPartition

          public static final long initializeFooterPartition()

    - #### initializeHeaderByteCount

          public static final long initializeHeaderByteCount()

    - #### initializeIndexByteCount

          public static final long initializeIndexByteCount()

    - #### initializeIndexSID

          public static final int initializeIndexSID()

    - #### initializeBodyOffset

          public static final long initializeBodyOffset()

    - #### initializeBodySID

          public static final int initializeBodySID()

    - #### initializeOperationalPattern

          public static final AUID initializeOperationalPattern()

    - #### initializeEssenceContainers

          public static final Set<AUID> initializeEssenceContainers()

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