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

tv.amwa.maj.model.impl

## Class EssenceDescriptorImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.EssenceDescriptorImpl

- All Implemented Interfaces:
    Serializable, Cloneable, MediaEntity, MetadataObject, EssenceDescriptor, InterchangeObject
  Direct Known Subclasses:
    AAFFileDescriptorImpl, FilmDescriptorImpl, PhysicalDescriptorImpl, TapeDescriptorImpl

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=9216,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="EssenceDescriptor",
                  description="The EssenceDescriptor class describes the format of the essence associated with a file SourcePackage or of the media associated with a physical SourcePackage.",
                  symbol="EssenceDescriptor",
                  isConcrete=false)
      public class EssenceDescriptorImpl
      extends InterchangeObjectImpl
      implements EssenceDescriptor, Serializable, Cloneable

  Implements the description of the format of the content data associated with a file source package or of the media associated with a physical source package.

  See Also:
    `TypeDefinitions.EssenceDescriptorStrongReference`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EssenceDescriptorImpl()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `appendLocator(Locator locator)` Append a locator to the list of locators of this essence descriptors, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media.
    `void` | `appendSubDescriptor(SubDescriptor subDescriptor)` Append a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
    `void` | `clearLocators()` Clear all the locators attached to this essence descriptor, omitting this optional property.
    `void` | `clearSubDescriptors()`
    `EssenceDescriptor` | `clone()` Create a cloned copy of this interchange object.
    `int` | `countLocators()` Return the number of locators attached to this essence descriptor, which each have operating-system-dependent data or text information that provide hints for finding files or physical media.
    `int` | `countSubDescriptors()` Returns the number of sub descriptors attached to this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
    `String` | `getComment()`
    `Locator` | `getLocatorAt(int index)` Retrieves the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.
    `List<Locator>` | `getLocators()` Returns a list of all the locators in this essence descriptors, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.
    `SubDescriptor` | `getSubDescriptorAt(int index)` Returns the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
    `List<SubDescriptor>` | `getSubDescriptors()` Returns the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
    `void` | `insertLocatorAt(int index, Locator locator)` Inserts a locator into the list of locators of this essence descriptors at the given index.
    `void` | `insertSubDescriptorAt(int index, SubDescriptor subDescriptor)` Inserts the given sub descriptor into the list of sub descriptors of this essence descriptor at the given index.
    `void` | `prependLocator(Locator locator)` Prepend a locator to the list of locators of this essence descriptor, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media.
    `void` | `prependSubDescriptor(SubDescriptor subDescriptor)` Prepend a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
    `void` | `removeLocatorAt(int index)` Removes the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.
    `void` | `removeSubDescriptorAt(int index)` Removes the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

    - ### Methods inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `addApplicationPlugin, appendXMLChildren, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getLinkedGenerationIDString, getObjectClass, getPersistentID, getPersistentIndex, hashCode, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setLinkedGenerationIDString, setObjectClass, setPersistentID, setPersistentIndex, toString`

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

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface tv.amwa.maj.model.InterchangeObject

      `addApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toString`

    - ### Methods inherited from interface tv.amwa.maj.industry.MediaEntity

      `getPersistentID, setPersistentIndex`

- - ### Constructor Detail

    - #### EssenceDescriptorImpl

          public EssenceDescriptorImpl()

  - ### Method Detail

    - #### appendLocator

          @MediaListAppend(value="Locators")
          public void appendLocator(Locator locator)
                                                                throws NullPointerException

      Description copied from interface: `EssenceDescriptor`

      Append a locator to the list of locators of this essence descriptors, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media. Use this function to add a locator to be scanned last when searching for the essence, providing a secondary location for the essence.

      Specified by:
        `appendLocator` in interface `EssenceDescriptor`
      Parameters:
        `locator` - Locator to append to the list of locators in this essence descriptor.
      Throws:
        `NullPointerException` - The given locator is `null`.

    - #### countLocators

          @MediaPropertyCount(value="Locators")
          public int countLocators()

      Description copied from interface: `EssenceDescriptor`

      Return the number of locators attached to this essence descriptor, which each have operating-system-dependent data or text information that provide hints for finding files or physical media. The number of locators may be zero if the essence is located within the current file.

      Specified by:
        `countLocators` in interface `EssenceDescriptor`
      Returns:
        Number of locators in this essence descriptor.

    - #### getLocatorAt

          @MediaListGetAt(value="Locators")
          public Locator getLocatorAt(int index)
                                                                 throws IndexOutOfBoundsException

      Description copied from interface: `EssenceDescriptor`

      Retrieves the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.

      Specified by:
        `getLocatorAt` in interface `EssenceDescriptor`
      Parameters:
        `index` - Index of locator to retrieve from the list of locators of the essence descriptor.
      Returns:
        Locator at given index.
      Throws:
        `IndexOutOfBoundsException` - The given index is outside the acceptable range for the current list of essence descriptors.

    - #### getLocators

          @MediaProperty(uuid1=100729092,
                         uuid2=1539,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="Locators",
                         aliases={"Locator","EssenceDescriptorLocator","EssenceDescriptorLocators"},
                         typeName="LocatorStrongReferenceVector",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=12033,
                         symbol="Locators")
          public List<Locator> getLocators()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             throws PropertyNotPresentException

      Description copied from interface: `EssenceDescriptor`

      Returns a list of all the locators in this essence descriptors, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media. This is an optional property and is omitted when the essence is in the current file.

      Specified by:
        `getLocators` in interface `EssenceDescriptor`
      Returns:
        A shallow copy of the list of locators in the essence descriptor.
      Throws:
        `PropertyNotPresentException` - No locators are present for this essence descriptor.
      See Also:
        `TypeDefinitions.LocatorStrongReferenceVector`

    - #### insertLocatorAt

          @MediaListInsertAt(value="Locators")
          public void insertLocatorAt(int index,
                                                                           Locator locator)
                                                                    throws NullPointerException,
                                                                           IndexOutOfBoundsException

      Description copied from interface: `EssenceDescriptor`

      Inserts a locator into the list of locators of this essence descriptors at the given index. Each locator has operating-system-dependent data or text information that provide hints for finding files or physical media. The locators already existing at the given and higher indices will be moved to the next higher index to accommodate.

      Specified by:
        `insertLocatorAt` in interface `EssenceDescriptor`
      Parameters:
        `index` - Index at which locator is to be inserted
        `locator` - Locator to insert.
      Throws:
        `NullPointerException` - Argument is null.
        `IndexOutOfBoundsException` - The given index is outside the acceptable range for the current list of essence descriptors.

    - #### prependLocator

          @MediaListPrepend(value="Locators")
          public void prependLocator(Locator locator)
                                                                  throws NullPointerException

      Description copied from interface: `EssenceDescriptor`

      Prepend a locator to the list of locators of this essence descriptor, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media. Use this function to add a locator to be scanned first when searching for the essence, providing a new primary location for the essence.

      Specified by:
        `prependLocator` in interface `EssenceDescriptor`
      Parameters:
        `locator` - Locator to prepend to the list of locators in this essence descriptor.
      Throws:
        `NullPointerException`

    - #### removeLocatorAt

          @MediaListRemoveAt(value="Locators")
          public void removeLocatorAt(int index)
                                                                    throws IndexOutOfBoundsException

      Description copied from interface: `EssenceDescriptor`

      Removes the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media. Locators already existing at indices higher than the given index will be moved to the next lower index to accommodate.

      Specified by:
        `removeLocatorAt` in interface `EssenceDescriptor`
      Parameters:
        `index` - Index of locator to remove from the list of locators of this essence descriptor.
      Throws:
        `IndexOutOfBoundsException` - The given index is outside the acceptable range for the current list of essence descriptors.

    - #### clearLocators

          @MediaPropertyClear(value="Locators")
          public void clearLocators()

      Description copied from interface: `EssenceDescriptor`

      Clear all the locators attached to this essence descriptor, omitting this optional property.

      Specified by:
        `clearLocators` in interface `EssenceDescriptor`

    - #### getSubDescriptors

          @MediaProperty(uuid1=100729092,
                         uuid2=1552,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,9},
                         definedName="SubDescriptors",
                         typeName="SubDescriptorStrongReferenceVector",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=12034,
                         symbol="SubDescriptors")
          public List<SubDescriptor> getSubDescriptors()
                                                                                                                                                                                                                                                                                                                                                                                                                                throws PropertyNotPresentException

      Description copied from interface: `EssenceDescriptor`

      Returns the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy. This is an optional property.

      Specified by:
        `getSubDescriptors` in interface `EssenceDescriptor`
      Returns:
        Shallow copy of the list of sub descriptors of this essence descriptor.
      Throws:
        `PropertyNotPresentException` - No sub descriptors are present for this essence descriptor.
      See Also:
        `TypeDefinitions.SubDescriptorStrongReferenceVector`

    - #### countSubDescriptors

          @MediaPropertyCount(value="SubDescriptors")
          public int countSubDescriptors()

      Description copied from interface: `EssenceDescriptor`

      Returns the number of sub descriptors attached to this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy. This list of sub-descriptors may be empty.

      Specified by:
        `countSubDescriptors` in interface `EssenceDescriptor`
      Returns:
        Number of sub descriptors attached to this essence descriptor.

    - #### appendSubDescriptor

          @MediaListAppend(value="SubDescriptors")
          public void appendSubDescriptor(SubDescriptor subDescriptor)
                                                                            throws NullPointerException

      Description copied from interface: `EssenceDescriptor`

      Append a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

      Specified by:
        `appendSubDescriptor` in interface `EssenceDescriptor`
      Parameters:
        `subDescriptor` - Sub descriptor to append to the list of sub descriptors for this essence descriptor.
      Throws:
        `NullPointerException` - The given sub descriptor is `null`.

    - #### getSubDescriptorAt

          @MediaListGetAt(value="SubDescriptors")
          public SubDescriptor getSubDescriptorAt(@UInt32
                                                                                          int index)
                                                                                   throws IndexOutOfBoundsException

      Description copied from interface: `EssenceDescriptor`

      Returns the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

      Specified by:
        `getSubDescriptorAt` in interface `EssenceDescriptor`
      Parameters:
        `index` - Index of the sub descriptor value to retrieve.
      Returns:
        Sub descriptor at the given index.
      Throws:
        `IndexOutOfBoundsException` - The given index is outside the acceptable range for the current list of sub descriptors.

    - #### prependSubDescriptor

          @MediaListPrepend(value="SubDescriptors")
          public void prependSubDescriptor(SubDescriptor subDescriptor)

      Description copied from interface: `EssenceDescriptor`

      Prepend a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

      Specified by:
        `prependSubDescriptor` in interface `EssenceDescriptor`
      Parameters:
        `subDescriptor` - Sub descriptor to prepend to the list of sub descriptors for this essence descriptor.

    - #### insertSubDescriptorAt

          @MediaListInsertAt(value="SubDescriptors")
          public void insertSubDescriptorAt(@UInt32
                                                                                       int index,
                                                                                       SubDescriptor subDescriptor)
                                                                                throws NullPointerException,
                                                                                       IndexOutOfBoundsException

      Description copied from interface: `EssenceDescriptor`

      Inserts the given sub descriptor into the list of sub descriptors of this essence descriptor at the given index. Sub descriptors specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

      Specified by:
        `insertSubDescriptorAt` in interface `EssenceDescriptor`
      Parameters:
        `index` - Index at which the sub descriptor should be inserted into the list of sub descriptors of this essence descriptor.
        `subDescriptor` - Sub descriptor to insert.
      Throws:
        `NullPointerException` - The sub descriptor argument is `null`.
        `IndexOutOfBoundsException` - The given index is outside the acceptable range for the list of sub descriptors of this essence descriptor.

    - #### removeSubDescriptorAt

          @MediaListRemoveAt(value="SubDescriptors")
          public void removeSubDescriptorAt(@UInt32
                                                                                       int index)
                                                                                throws IndexOutOfBoundsException

      Description copied from interface: `EssenceDescriptor`

      Removes the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy. Sub descriptors at higher indices will be moved to fill the gap made by the removal.

      Specified by:
        `removeSubDescriptorAt` in interface `EssenceDescriptor`
      Parameters:
        `index` - Index of the sub descriptor to remove.
      Throws:
        `IndexOutOfBoundsException` - The given index is outside the acceptable range for the current list of sub descriptors.

    - #### clearSubDescriptors

          @MediaPropertyClear(value="SubDescriptors")
          public void clearSubDescriptors()

    - #### clone

          public EssenceDescriptor clone()

      Description copied from interface: `InterchangeObject`

      Create a cloned copy of this interchange object.

      Specified by:
        `clone` in interface `MediaEntity`
      Specified by:
        `clone` in interface `EssenceDescriptor`
      Specified by:
        `clone` in interface `InterchangeObject`
      Overrides:
        `clone` in class `InterchangeObjectImpl`
      Returns:
        Cloned copy of this interchange object.

    - #### getComment

          public String getComment()

      Overrides:
        `getComment` in class `InterchangeObjectImpl`

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