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

tv.amwa.maj.model.impl

## Class AIFCDescriptorImpl

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

- All Implemented Interfaces:
    Serializable, Cloneable, QAAFFileDescriptor, MediaEntity, MetadataObject, XMLSerializable, AAFFileDescriptor, AIFCDescriptor, EssenceDescriptor, InterchangeObject

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=9728,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="AIFCDescriptor",
                  description="The AIFCDescriptor class specifies that a File SourcePackage is associated with audio essence formatted according to the Audio Interchange File Format with Compression (AIFC).",
                  symbol="AIFCDescriptor")
      public class AIFCDescriptorImpl
      extends AAFFileDescriptorImpl
      implements AIFCDescriptor, Serializable, XMLSerializable, Cloneable

  Implements the description of a file of audio essence formatted according to the Audio Interchange File Format with Compression (AIFC).

  See Also:
    Serialized Form

- - ### Field Summary

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

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AIFCDescriptorImpl()`
    `AIFCDescriptorImpl(ContainerDefinition containerFormat, Rational sampleRate, long length, byte[] summary)` Creates and initializes a new AIFC descriptor with the required summary data.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AIFCDescriptor` | `clone()` Create a cloned copy of this interchange object.
    `byte[]` | `getAIFCSummary()` Gets a copy of the descriptive information in the associated AIFC Audio Data value.
    `int` | `getSummaryBufferSize()` Returns the size of the buffer returned by the `AIFCDescriptor.getAIFCSummary()` method.
    `static byte[]` | `initializeAIFCSummary()`
    `void` | `setAIFCSummary(byte[] aifcSummary)` Sets the AIFC file information, the descriptive information in the associated AIFC audio data value.

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

      `describesStaticEssence, getCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, getSampleRateString, getTwentyFourBitAudio, initializeEssenceLength, initializeSampleRate, setCodec, setContainerFormat, setDescribesStaticEssence, setDescribesTimeVaryingEssence, setEssenceLength, setEssenceLengthFromStream, setLinkedTrackID, setSampleRate, setSampleRateFromStream, setSampleRateString, setTwentyFourBitAudio`

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

      `appendLocator, appendSubDescriptor, clearLocators, clearSubDescriptors, countLocators, countSubDescriptors, getComment, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt`

    - ### 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.AAFFileDescriptor

      `getCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, setCodec, setContainerFormat, setEssenceLength, setLinkedTrackID, setSampleRate`

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

      `appendLocator, appendSubDescriptor, clearLocators, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt`

    - ### 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`

    - ### Methods inherited from interface tv.amwa.maj.io.xml.XMLSerializable

      `appendXMLChildren, getComment`

- - ### Constructor Detail

    - #### AIFCDescriptorImpl

          public AIFCDescriptorImpl()

    - #### AIFCDescriptorImpl

          public AIFCDescriptorImpl(ContainerDefinition containerFormat,
                                    Rational sampleRate,
                                    @LengthType
                                    long length,
                                    @DataValue
                                    byte[] summary)
                             throws NullPointerException,
                                    BadLengthException

      Creates and initializes a new AIFC descriptor with the required summary data.

      Parameters:
        `containerFormat` - Container mechanism used to store the essence.
        `sampleRate` - Sample rate of the essence.
        `length` - Duration of the essence measured in sample units.
        `summary` - Copy of the descriptive information in the associated AIFC audio data value.
      Throws:
        `NullPointerException` - Argument is null.
        `BadLengthException` - The given length of the described material is negative.

  - ### Method Detail

    - #### getAIFCSummary

          @MediaProperty(uuid1=50529026,
                         uuid2=512,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="AIFCSummary",
                         aliases={"Summary","AIFCDescriptorSummary"},
                         typeName="DataValue",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=12545,
                         symbol="AIFCSummary")
          public byte[] getAIFCSummary()

      Description copied from interface: `AIFCDescriptor`

      Gets a copy of the descriptive information in the associated AIFC Audio Data value.

      Specified by:
        `getAIFCSummary` in interface `AIFCDescriptor`
      Returns:
        A copy of the descriptive information in the associated AIFC audio data value.

    - #### getSummaryBufferSize

          public int getSummaryBufferSize()

      Description copied from interface: `AIFCDescriptor`

      Returns the size of the buffer returned by the `AIFCDescriptor.getAIFCSummary()` method.

      Specified by:
        `getSummaryBufferSize` in interface `AIFCDescriptor`
      Returns:
        Size of the summary buffer.

    - #### setAIFCSummary

          @MediaPropertySetter(value="AIFCSummary")
          public void setAIFCSummary(byte[] aifcSummary)
                                                                        throws NullPointerException

      Description copied from interface: `AIFCDescriptor`

      Sets the AIFC file information, the descriptive information in the associated AIFC audio data value.

      Specified by:
        `setAIFCSummary` in interface `AIFCDescriptor`
      Parameters:
        `aifcSummary` - A copy of the descriptive information in the associated AIFC Audio Data value.
      Throws:
        `NullPointerException` - The given summary buffer is `null`.

    - #### initializeAIFCSummary

          public static final byte[] initializeAIFCSummary()

    - #### clone

          public AIFCDescriptor 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 `AAFFileDescriptor`
      Specified by:
        `clone` in interface `AIFCDescriptor`
      Specified by:
        `clone` in interface `EssenceDescriptor`
      Specified by:
        `clone` in interface `InterchangeObject`
      Overrides:
        `clone` in class `AAFFileDescriptorImpl`
      Returns:
        Cloned copy of this interchange object.

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