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

tv.amwa.maj.model.impl

## Class DictionaryImpl

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

- All Implemented Interfaces:
    Serializable, Cloneable, MediaEntity, MetadataObject, XMLSerializable, Dictionary, InterchangeObject

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=8704,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="Dictionary",
                  description="The Dictionary class has DefinitionObject objects.",
                  symbol="Dictionary")
      public class DictionaryImpl
      extends InterchangeObjectImpl
      implements Dictionary, Serializable, XMLSerializable, Cloneable

  Implements a container for definitions. The dictionary specified here is both an AAF Dictionary and an AAF MetaDictionary. Every AAF file has a dictionary within its preface and contains a representation of the meta dictionary.

  See Also:
    `TypeDefinitions.DictionaryStrongReference`, Serialized Form

- - ### Field Summary

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

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DictionaryImpl()` Creates and initializes a new dictionary object, which has the definition objects of an AAF persistent unit.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `addDefinition(DefinitionObject definition)` Add the given definition to this dictionary if it is not already contained.
    `boolean` | `addDefinitions(MetadataObject mdObject)` Scan the given metadata object to see if it contains and references to definitions not known in this dictionary, adding any missing definitions to this dictionary as it goes.
    `void` | `clearCodecDefinitions()`
    `void` | `clearContainerDefinitions()`
    `void` | `clearDataDefinitions()`
    `void` | `clearInterpolationDefinitions()`
    `void` | `clearKLVDataDefinitions()`
    `void` | `clearOperationDefinitions()`
    `void` | `clearParameterDefinitions()`
    `void` | `clearPluginDefinitions()`
    `void` | `clearTaggedValueDefinitions()`
    `Dictionary` | `clone()` Create a cloned copy of this interchange object.
    `int` | `countCodecDefinitions()` Returns the number of codec definitions contained in this dictionary.
    `int` | `countContainerDefinitions()` Returns the number of container definitions contained in this dictionary.
    `int` | `countDataDefinitions()` Returns the number of data definitions contained in this dictionary.
    `int` | `countInterpolationDefinitions()` Returns the number of interpolation definitions contained in this dictionary.
    `int` | `countKLVDataDefinitions()` Returns the number of KLV data definitions contained in this dictionary.
    `int` | `countOperationDefinitions()` Returns the number of operation definitions contained in this dictionary.
    `int` | `countParameterDefinitions()` Returns the number of parameter definitions contained in this dictionary.
    `int` | `countPluginDefinitions()` Returns the number of plugin definitions contained in this dictionary.
    `int` | `countTaggedValueDefinitions()` Returns the number of tagged value definitions contained in this dictionary.
    `Set<CodecDefinition>` | `getCodecDefinitions()` Returns a set of all the codec definitions contained in the dictionary.
    `String` | `getComment()` Include a comment when serializing a value to XML.
    `Set<ContainerDefinition>` | `getContainerDefinitions()` Returns the set of all container definitions contained in this dictionary.
    `Set<DataDefinition>` | `getDataDefinitions()` Returns the set of data definitions contained in this dictionary.
    `Set<InterpolationDefinition>` | `getInterpolationDefinitions()` Returns the set of interpolation definitions contained in this dictionary.
    `Set<KLVDataDefinition>` | `getKLVDataDefinitions()` Returns the set of KLV data definitions contained in this dictionary.
    `Set<OperationDefinition>` | `getOperationDefinitions()` Returns the set of operation definitions contained in this dictionary.
    `Set<ParameterDefinition>` | `getParameterDefinitions()` Returns the set of parameter definitions contained in this dictionary.
    `Set<PluginDefinition>` | `getPluginDefinitions()` Returns the set of plugin definitions contained in this dictionary.
    `Set<TaggedValueDefinition>` | `getTaggedValueDefinitions()` Returns a set of all tagged value definitions contained in this dictionary.
    `DataDefinition` | `lookupAuxiliaryDataDefinition()` Returns the auxiliary data definition.
    `CodecDefinition` | `lookupCodecDefinition(AUID codecId)` Returns the codec definition with the given identifier that is contained in this dictionary.
    `ContainerDefinition` | `lookupContainerDefinition(AUID containerId)` Returns the container definition with the given identifier that is contained in this dictionary.
    `DataDefinition` | `lookupDataDefinition(AUID dataDefinitionId)` Return the data definition with the given identifier that is contained in this dictionary.
    `DataDefinition` | `lookupDescriptiveMedadataDataDefinition()` Returns the descriptive metadata data definition.
    `DataDefinition` | `lookupEdgecodeDataDefinition()` Returns the edgecode data definition.
    `InterpolationDefinition` | `lookupInterpoliationDefinition(AUID interpolationId)` Returns the interpolation definition with the given identifier that is contained in this dictionary.
    `KLVDataDefinition` | `lookupKLVDataDefinition(AUID klvDataDefinitionId)` Returns the KLV data definition with the given identifier that is contained in this dictionary
    `DataDefinition` | `lookupLegacyPictureDataDefinition()` Returns the legacy picture data definition.
    `DataDefinition` | `lookupLegacySoundDataDefinition()` Returns the legacy sound data definition.
    `DataDefinition` | `lookupLegacyTimecodeDataDefinition()` Returns the legacy timecode data definition.
    `DataDefinition` | `lookupMatteDataDefinition()` Returns the matte data definition.
    `OperationDefinition` | `lookupOperationDefinition(AUID operationId)` Return the operation definition with the given identifier that is contained in this dictionary.
    `ParameterDefinition` | `lookupParameterDefinition(AUID parameterId)` Returns the parameter definition with the given identifier that is contained in this dictionary.
    `DataDefinition` | `lookupPictureDataDefinition()` Returns the picture data definition.
    `DataDefinition` | `lookupPictureWithMatteDataDefinition()` Returns the picture with matte data definition.
    `PluginDefinition` | `lookupPluginDefinition(AUID pluginId)` Return the plugin definition with the given identifier that is contained in this dictionary.
    `DataDefinition` | `lookupSoundDataDefinition()` Returns a sound data definition.
    `TaggedValueDefinition` | `lookupTaggedValueDefinition(AUID taggedValueDefinitionId)` Returns the tagged value definition with the given identifier that is contained in this dictionary.
    `DataDefinition` | `lookupTimecodeDataDefinition()` Returns the timecode data definition.
    `void` | `registerCodecDefinition(CodecDefinition codecDefinition)` Add a codec definition to those contained in this dictionary.
    `void` | `registerContainerDefinition(ContainerDefinition containerDefinition)` Add a container definition to those contained in this dictionary.
    `void` | `registerDataDefinition(DataDefinition dataDefinition)` Add a data definition to the those contained in this dictionary.
    `void` | `registerInterpolationDefinition(InterpolationDefinition interpolationDefinition)` Add an interpolation definition to those contained in this dictionary.
    `void` | `registerKLVDataDefinition(KLVDataDefinition klvDataDefinition)` Add a KLV data definition to those contained in the dictionary.
    `void` | `registerOperationDefinition(OperationDefinition operationDefinition)` Add a operation definition to those contained in the dictionary.
    `void` | `registerParameterDefinition(ParameterDefinition parameterDefinition)` Add a parameter definition to those contained in the dictionary.
    `void` | `registerPluginDefinition(PluginDefinition pluginDefinition)` Add a plugin definition to those contained in this dictionary.
    `void` | `registerTaggedValueDefinition(TaggedValueDefinition taggedValueDefinition)` Add the tagged value definition to those contained in this dictionary.

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

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

      `appendXMLChildren`

- - ### Constructor Detail

    - #### DictionaryImpl

          public DictionaryImpl()

      Creates and initializes a new dictionary object, which has the definition objects of an AAF persistent unit. All the sets of items in the dictionary are initialized to empty sets.

  - ### Method Detail

    - #### countCodecDefinitions

          @MediaPropertyCount(value="CodecDefinitions")
          public int countCodecDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of codec definitions contained in this dictionary.

      Specified by:
        `countCodecDefinitions` in interface `Dictionary`
      Returns:
        Number of codec definitions contained in this dictionary.

    - #### countContainerDefinitions

          @MediaPropertyCount(value="ContainerDefinitions")
          public int countContainerDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of container definitions contained in this dictionary.

      Specified by:
        `countContainerDefinitions` in interface `Dictionary`
      Returns:
        Number of container definitions contained in this dictionary.

    - #### countDataDefinitions

          @MediaPropertyCount(value="DataDefinitions")
          public int countDataDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of data definitions contained in this dictionary.

      Specified by:
        `countDataDefinitions` in interface `Dictionary`
      Returns:
        Number of data definitions contained in this dictionary.

    - #### countInterpolationDefinitions

          @MediaPropertyCount(value="InterpolationDefinitions")
          public int countInterpolationDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of interpolation definitions contained in this dictionary.

      Specified by:
        `countInterpolationDefinitions` in interface `Dictionary`
      Returns:
        Number of interpolation definitions contained in this dictionary.

    - #### countKLVDataDefinitions

          @MediaPropertyCount(value="KLVDataDefinitions")
          public int countKLVDataDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of KLV data definitions contained in this dictionary.

      Specified by:
        `countKLVDataDefinitions` in interface `Dictionary`
      Returns:
        Number of KLV data definitions contained in this dictionary.

    - #### countOperationDefinitions

          @MediaPropertyCount(value="OperationDefinitions")
          public int countOperationDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of operation definitions contained in this dictionary.

      Specified by:
        `countOperationDefinitions` in interface `Dictionary`
      Returns:
        Number of operation definitions contained in this dictionary.

    - #### countParameterDefinitions

          @MediaPropertyCount(value="ParameterDefinitions")
          public int countParameterDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of parameter definitions contained in this dictionary.

      Specified by:
        `countParameterDefinitions` in interface `Dictionary`
      Returns:
        Number of parameter definitions contained in this dictionary.

    - #### countPluginDefinitions

          @MediaPropertyCount(value="PluginDefinitions")
          public int countPluginDefinitions()

      Description copied from interface: `Dictionary`

      Returns the number of plugin definitions contained in this dictionary.

      Specified by:
        `countPluginDefinitions` in interface `Dictionary`
      Returns:
        Number of plugin definitions contained in this dictionary.

    - #### countTaggedValueDefinitions

          @MediaPropertyCount(value="TaggedValueDefinitions")
          public int countTaggedValueDefinitions()

      Description copied from interface: `Dictionary`
      Returns the number of tagged value definitions contained in this dictionary.
      Specified by:
        `countTaggedValueDefinitions` in interface `Dictionary`
      Returns:
        Number of tagged value definitions contained in the dictionary.

    - #### clearCodecDefinitions

          @MediaPropertyClear(value="CodecDefinitions")
          public void clearCodecDefinitions()

    - #### clearContainerDefinitions

          @MediaPropertyClear(value="ContainerDefinitions")
          public void clearContainerDefinitions()

    - #### clearDataDefinitions

          @MediaPropertyClear(value="DataDefinitions")
          public void clearDataDefinitions()

    - #### clearInterpolationDefinitions

          @MediaPropertyClear(value="InterpolationDefinitions")
          public void clearInterpolationDefinitions()

    - #### clearKLVDataDefinitions

          @MediaPropertyClear(value="KLVDataDefinitions")
          public void clearKLVDataDefinitions()

    - #### clearOperationDefinitions

          @MediaPropertyClear(value="OperationDefinitions")
          public void clearOperationDefinitions()

    - #### clearParameterDefinitions

          @MediaPropertyClear(value="ParameterDefinitions")
          public void clearParameterDefinitions()

    - #### clearPluginDefinitions

          @MediaPropertyClear(value="PluginDefinitions")
          public void clearPluginDefinitions()

    - #### clearTaggedValueDefinitions

          @MediaPropertyClear(value="TaggedValueDefinitions")
          public void clearTaggedValueDefinitions()

    - #### getCodecDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1287,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="CodecDefinitions",
                         typeName="CodecDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9735,
                         symbol="CodecDefinitions")
          public Set<CodecDefinition> getCodecDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                     throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns a set of all the codec definitions contained in the dictionary.

      Specified by:
        `getCodecDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of codec definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No codec definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.CodecDefinitionStrongReferenceSet`

    - #### getContainerDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1288,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ContainerDefinitions",
                         typeName="ContainerDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9736,
                         symbol="ContainerDefinitions")
          public Set<ContainerDefinition> getContainerDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                                         throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns the set of all container definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getContainerDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of container definitions.
      Throws:
        `PropertyNotPresentException` - No container definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.ContainerDefinitionStrongReferenceSet`

    - #### getDataDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1285,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="DataDefinitions",
                         typeName="DataDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9733,
                         symbol="DataDefinitions")
          public Set<DataDefinition> getDataDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns the set of data definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getDataDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of data definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No data definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.DataDefinitionStrongReferenceSet`

    - #### getInterpolationDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1289,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="InterpolationDefinitions",
                         typeName="InterpolationDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9737,
                         symbol="InterpolationDefinitions")
          public Set<InterpolationDefinition> getInterpolationDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                             throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns the set of interpolation definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getInterpolationDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of interpolation definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No interpolation definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.InterpolationDefinitionStrongReferenceSet`

    - #### getKLVDataDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1290,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,7},
                         definedName="KLVDataDefinitions",
                         typeName="KLVDataDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9738,
                         symbol="KLVDataDefinitions")
          public Set<KLVDataDefinition> getKLVDataDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                               throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns the set of KLV data definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getKLVDataDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of KLV data definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No KLV data definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.KLVDataDefinitionStrongReferenceSet`

    - #### getParameterDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1284,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ParameterDefinitions",
                         typeName="ParameterDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9732,
                         symbol="ParameterDefinitions")
          public Set<ParameterDefinition> getParameterDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                                         throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns the set of parameter definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getParameterDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of parameter definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No parameter definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.ParameterDefinitionStrongReferenceSet`

    - #### getOperationDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1283,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="OperationDefinitions",
                         typeName="OperationDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9731,
                         symbol="OperationDefinitions")
          public Set<OperationDefinition> getOperationDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                                         throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns the set of operation definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getOperationDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of operation definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No operation definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.OperationDefinitionStrongReferenceSet`

    - #### getPluginDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1286,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="PluginDefinitions",
                         typeName="PluginDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9734,
                         symbol="PluginDefinitions")
          public Set<PluginDefinition> getPluginDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                          throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns the set of plugin definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getPluginDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set of plugin definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No plugin definitions are present in this dictionary.
      See Also:
        `TypeDefinitions.PluginDefinitionStrongReferenceSet`

    - #### getTaggedValueDefinitions

          @MediaProperty(uuid1=100729092,
                         uuid2=1291,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,7},
                         definedName="TaggedValueDefinitions",
                         typeName="TaggedValueDefinitionStrongReferenceSet",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=9739,
                         symbol="TaggedValueDefinitions")
          public Set<TaggedValueDefinition> getTaggedValueDefinitions()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                   throws PropertyNotPresentException

      Description copied from interface: `Dictionary`

      Returns a set of all tagged value definitions contained in this dictionary. This is an optional property.

      Specified by:
        `getTaggedValueDefinitions` in interface `Dictionary`
      Returns:
        Shallow copy of the set the tagged value definitions contained in this dictionary.
      Throws:
        `PropertyNotPresentException` - No tagged value definitions are present in this dictionary.

    - #### lookupAuxiliaryDataDefinition

          public DataDefinition lookupAuxiliaryDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the auxiliary data definition. This is a built-in data definition for auxiliary data.

      Specified by:
        `lookupAuxiliaryDataDefinition` in interface `Dictionary`
      Returns:
        Auxiliary data definition.
      See Also:
        `DataDefinitionConstant.Auxiliary`

    - #### lookupCodecDefinition

          public CodecDefinition lookupCodecDefinition(AUID codecId)
                                                throws NullPointerException,
                                                       InvalidParameterException

      Description copied from interface: `Dictionary`

      Returns the codec definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupCodecDefinition` in interface `Dictionary`
      Parameters:
        `codecId` - Identifier for a codec definition contained in this dictionary.
      Returns:
        Codec definition with the given identifier contained in this dictionary.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - The given identifier does not match a codec definition contained in this dictionary.
      See Also:
        `TypeDefinitions.CodecDefinitionWeakReference`

    - #### lookupContainerDefinition

          public ContainerDefinition lookupContainerDefinition(AUID containerId)
                                                        throws NullPointerException,
                                                               InvalidParameterException

      Description copied from interface: `Dictionary`

      Returns the container definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupContainerDefinition` in interface `Dictionary`
      Parameters:
        `containerId` - Identifier for a container definition contained in this dictionary.
      Returns:
        Container definition contained in this dictionary with the given id.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - The given identifier does not match a codec definition contained in this dictionary.
      See Also:
        `TypeDefinitions.ContainerDefinitionWeakReference`

    - #### lookupDataDefinition

          public DataDefinition lookupDataDefinition(AUID dataDefinitionId)
                                              throws NullPointerException,
                                                     InvalidParameterException

      Description copied from interface: `Dictionary`

      Return the data definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupDataDefinition` in interface `Dictionary`
      Parameters:
        `dataDefinitionId` - Unique identifier for a data definition contained in this dictionary.
      Returns:
        Data definition contained in this dictionary with the given identifier.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - A data definition with the given id could not be found in this dictionary.
      See Also:
        `TypeDefinitions.DataDefinitionWeakReference`

    - #### lookupDescriptiveMedadataDataDefinition

          public DataDefinition lookupDescriptiveMedadataDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the descriptive metadata data definition. This is a built-in data definition for descriptive metadata.

      Specified by:
        `lookupDescriptiveMedadataDataDefinition` in interface `Dictionary`
      Returns:
        Descriptive metadata data definition.
      See Also:
        `DataDefinitionConstant.DescriptiveMetadata`

    - #### lookupEdgecodeDataDefinition

          public DataDefinition lookupEdgecodeDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the edgecode data definition. This is a built-in data definition for a stream of film edge code values.

      Specified by:
        `lookupEdgecodeDataDefinition` in interface `Dictionary`
      Returns:
        Edgecode data definition.
      See Also:
        `DataDefinitionConstant.Edgecode`

    - #### lookupInterpoliationDefinition

          public InterpolationDefinition lookupInterpoliationDefinition(AUID interpolationId)
                                                                 throws NullPointerException,
                                                                        InvalidParameterException

      Description copied from interface: `Dictionary`

      Returns the interpolation definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupInterpoliationDefinition` in interface `Dictionary`
      Parameters:
        `interpolationId` - Identifier for an interpolation definition contained in this dictionary.
      Returns:
        Interpolation definition with the given identifier contained in this dictionary.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - The given identifier does not match that of an interpolation definition contained in this dictionary.
      See Also:
        `TypeDefinitions.InterpolationDefinitionWeakReference`

    - #### lookupKLVDataDefinition

          public KLVDataDefinition lookupKLVDataDefinition(AUID klvDataDefinitionId)
                                                    throws NullPointerException,
                                                           InvalidParameterException

      Description copied from interface: `Dictionary`

      Returns the KLV data definition with the given identifier that is contained in this dictionary

      Specified by:
        `lookupKLVDataDefinition` in interface `Dictionary`
      Parameters:
        `klvDataDefinitionId` - Identifier for a KLV data definition contained in this dictionary.
      Returns:
        KLV data definition with the given identifier contained in this dictionary.
      Throws:
        `NullPointerException` - The given KLV data definition is `null`.
        `InvalidParameterException` - The given id does not match that of a KLV data definition in the dictionary.

    - #### lookupLegacyPictureDataDefinition

          public DataDefinition lookupLegacyPictureDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the legacy picture data definition. This is a built-in data definition for a stream of essence that contains image data.

      Specified by:
        `lookupLegacyPictureDataDefinition` in interface `Dictionary`
      Returns:
        Legacy picture data definition.
      See Also:
        `DataDefinitionConstant.LegacyPicture`

    - #### lookupLegacySoundDataDefinition

          public DataDefinition lookupLegacySoundDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the legacy sound data definition. This is a built-in data definition essence that contains a single channel of sound.

      Specified by:
        `lookupLegacySoundDataDefinition` in interface `Dictionary`
      Returns:
        Legacy sound data definition.
      See Also:
        `DataDefinitionConstant.LegacySound`

    - #### lookupLegacyTimecodeDataDefinition

          public DataDefinition lookupLegacyTimecodeDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the legacy timecode data definition. This is a built-in data definition for a stream of tape timecode values.

      Specified by:
        `lookupLegacyTimecodeDataDefinition` in interface `Dictionary`
      Returns:
        Legacy timecode data definition.
      See Also:
        `DataDefinitionConstant.LegacyTimecode`

    - #### lookupMatteDataDefinition

          public DataDefinition lookupMatteDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the matte data definition. This is a built-in data definition for a stream of essence that contains alpha values.

      Specified by:
        `lookupMatteDataDefinition` in interface `Dictionary`
      Returns:
        Matte data definition.
      See Also:
        `DataDefinitionConstant.Matte`

    - #### lookupOperationDefinition

          public OperationDefinition lookupOperationDefinition(AUID operationId)
                                                        throws NullPointerException,
                                                               InvalidParameterException

      Description copied from interface: `Dictionary`

      Return the operation definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupOperationDefinition` in interface `Dictionary`
      Parameters:
        `operationId` - Identifier of an operation definition contained in this dictionary.
      Returns:
        Operation definition with the given id contained in this dictionary.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - The given identifier does not match that of an operation definition contained in this dictionary.
      See Also:
        `TypeDefinitions.OperationDefinitionWeakReference`

    - #### lookupParameterDefinition

          public ParameterDefinition lookupParameterDefinition(AUID parameterId)
                                                        throws NullPointerException,
                                                               InvalidParameterException

      Description copied from interface: `Dictionary`

      Returns the parameter definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupParameterDefinition` in interface `Dictionary`
      Parameters:
        `parameterId` - Identifier for a parameter definition contained in this dictionary.
      Returns:
        Parameter definition with the given identifier contained in this dictionary.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - The given identifier does not match a parameter definition contained in this dictionary.
      See Also:
        `TypeDefinitions.ParameterDefinitionWeakReference`

    - #### lookupPictureDataDefinition

          public DataDefinition lookupPictureDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the picture data definition. This is a built-in data definition for a stream of essence that contains image data.

      Specified by:
        `lookupPictureDataDefinition` in interface `Dictionary`
      Returns:
        Picture data definition.
      See Also:
        `DataDefinitionConstant.Picture`

    - #### lookupPictureWithMatteDataDefinition

          public DataDefinition lookupPictureWithMatteDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the picture with matte data definition. This is a built-in data definition for a stream of essence that contains image data and a matte.

      Specified by:
        `lookupPictureWithMatteDataDefinition` in interface `Dictionary`
      Returns:
        Picture with matte data definition.
      See Also:
        `DataDefinitionConstant.PictureWithMatte`

    - #### lookupPluginDefinition

          public PluginDefinition lookupPluginDefinition(AUID pluginId)
                                                  throws NullPointerException,
                                                         InvalidParameterException

      Description copied from interface: `Dictionary`

      Return the plugin definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupPluginDefinition` in interface `Dictionary`
      Parameters:
        `pluginId` - Identifier for a plugin definition contained in this dictionary.
      Returns:
        Plugin definition with the given identifier contained in this dictionary.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - The given identifier does not match that of a plugin definition contained in this dictionary.
      See Also:
        `TypeDefinitions.PluginDefinitionWeakReference`

    - #### lookupSoundDataDefinition

          public DataDefinition lookupSoundDataDefinition()

      Description copied from interface: `Dictionary`

      Returns a sound data definition. This is a built-in data definition for a a stream of essence that contains a single channel of sound.

      Specified by:
        `lookupSoundDataDefinition` in interface `Dictionary`
      Returns:
        Sound data definition.
      See Also:
        `DataDefinitionConstant.Sound`

    - #### lookupTimecodeDataDefinition

          public DataDefinition lookupTimecodeDataDefinition()

      Description copied from interface: `Dictionary`

      Returns the timecode data definition. This is a built-in `data definition` for a stream of tape timecode values.

      Specified by:
        `lookupTimecodeDataDefinition` in interface `Dictionary`
      Returns:
        Timecode data definition.
      See Also:
        `DataDefinitionConstant.Timecode`

    - #### lookupTaggedValueDefinition

          public TaggedValueDefinition lookupTaggedValueDefinition(AUID taggedValueDefinitionId)
                                                            throws NullPointerException,
                                                                   InvalidParameterException

      Description copied from interface: `Dictionary`

      Returns the tagged value definition with the given identifier that is contained in this dictionary.

      Specified by:
        `lookupTaggedValueDefinition` in interface `Dictionary`
      Parameters:
        `taggedValueDefinitionId` - ID of the tagged value definition to lookup in the dictionary.
      Returns:
        Matching tagged value definition in the dictionary.
      Throws:
        `NullPointerException` - The given identifier is `null`.
        `InvalidParameterException` - The given identifier does not match that of a tagged value definition contained in this dictionary.

    - #### registerCodecDefinition

          @MediaSetAdd(value="CodecDefinitions")
          public void registerCodecDefinition(CodecDefinition codecDefinition)
                                                                              throws NullPointerException,
                                                                                     InvalidParameterException

      Description copied from interface: `Dictionary`

      Add a codec definition to those contained in this dictionary.

      Specified by:
        `registerCodecDefinition` in interface `Dictionary`
      Parameters:
        `codecDefinition` - Codec definition to add.
      Throws:
        `NullPointerException` - The given codec definition is `null`.
        `InvalidParameterException` - A codec definition with the same identifier is already contained in this dictionary.
      See Also:
        `CodecConstant`

    - #### registerContainerDefinition

          @MediaSetAdd(value="ContainerDefinitions")
          public void registerContainerDefinition(ContainerDefinition containerDefinition)
                                                                                      throws NullPointerException,
                                                                                             InvalidParameterException

      Description copied from interface: `Dictionary`

      Add a container definition to those contained in this dictionary.

      Specified by:
        `registerContainerDefinition` in interface `Dictionary`
      Parameters:
        `containerDefinition` - Container definition to add.
      Throws:
        `NullPointerException` - The given container definition is `null`.
        `InvalidParameterException` - A container definition with the same identifier is already contained in this dictionary.
      See Also:
        `ContainerConstant`

    - #### registerDataDefinition

          @MediaSetAdd(value="DataDefinitions")
          public void registerDataDefinition(DataDefinition dataDefinition)
                                                                            throws NullPointerException,
                                                                                   InvalidParameterException

      Description copied from interface: `Dictionary`

      Add a data definition to the those contained in this dictionary.

      Specified by:
        `registerDataDefinition` in interface `Dictionary`
      Parameters:
        `dataDefinition` - Data definition to add.
      Throws:
        `NullPointerException` - The given data definition is `null`.
        `InvalidParameterException` - A data definition with the same identifier is already contained in this dictionary.
      See Also:
        `DataDefinitionConstant`, `Warehouse.lookup(Class, String)`

    - #### registerInterpolationDefinition

          @MediaSetAdd(value="InterpolationDefinitions")
          public void registerInterpolationDefinition(InterpolationDefinition interpolationDefinition)
                                                                                              throws NullPointerException,
                                                                                                     InvalidParameterException

      Description copied from interface: `Dictionary`

      Add an interpolation definition to those contained in this dictionary.

      Specified by:
        `registerInterpolationDefinition` in interface `Dictionary`
      Parameters:
        `interpolationDefinition` - Interpolation definition to add.
      Throws:
        `NullPointerException` - The given interpolation definition is `null`.
        `InvalidParameterException` - An interpolation definition with the same identifier is already contained in this dictionary.
      See Also:
        `InterpolationConstant`

    - #### registerKLVDataDefinition

          @MediaSetAdd(value="KLVDataDefinitions")
          public void registerKLVDataDefinition(KLVDataDefinition klvDataDefinition)
                                                                                  throws NullPointerException,
                                                                                         InvalidParameterException

      Description copied from interface: `Dictionary`

      Add a KLV data definition to those contained in the dictionary.

      Specified by:
        `registerKLVDataDefinition` in interface `Dictionary`
      Parameters:
        `klvDataDefinition` - KLV data definition to add to the dictionary.
      Throws:
        `NullPointerException` - The given KLV data definition is `null`.
        `InvalidParameterException` - The given KLV data definition has the same identifier as one already contained in the dictionary.

    - #### registerOperationDefinition

          @MediaSetAdd(value="OperationDefinitions")
          public void registerOperationDefinition(OperationDefinition operationDefinition)
                                                                                      throws NullPointerException,
                                                                                             InvalidParameterException

      Description copied from interface: `Dictionary`

      Add a operation definition to those contained in the dictionary.

      Specified by:
        `registerOperationDefinition` in interface `Dictionary`
      Parameters:
        `operationDefinition` - Operation definition to add.
      Throws:
        `NullPointerException` - The given operation definition is `null`.
        `InvalidParameterException` - An operation definition with the same identifier is already contained in this dictionary.
      See Also:
        `OperationConstant`

    - #### registerParameterDefinition

          @MediaSetAdd(value="ParameterDefinitions")
          public void registerParameterDefinition(ParameterDefinition parameterDefinition)
                                                                                      throws NullPointerException,
                                                                                             InvalidParameterException

      Description copied from interface: `Dictionary`

      Add a parameter definition to those contained in the dictionary.

      Specified by:
        `registerParameterDefinition` in interface `Dictionary`
      Parameters:
        `parameterDefinition` - Parameter definition to add.
      Throws:
        `NullPointerException` - The given parameter definition is `null`.
        `InvalidParameterException` - A parameter definition with the same identifier is already contained in this dictionary.
      See Also:
        `ParameterConstant`

    - #### registerPluginDefinition

          @MediaSetAdd(value="PluginDefinitions")
          public void registerPluginDefinition(PluginDefinition pluginDefinition)
                                                                                throws NullPointerException,
                                                                                       InvalidParameterException

      Description copied from interface: `Dictionary`

      Add a plugin definition to those contained in this dictionary.

      Specified by:
        `registerPluginDefinition` in interface `Dictionary`
      Parameters:
        `pluginDefinition` - Plugin definition to add.
      Throws:
        `NullPointerException` - The given plugin definition is `null`.
        `InvalidParameterException` - A plugin definition with the same identifier is already contained in this dictionary.

    - #### registerTaggedValueDefinition

          @MediaSetAdd(value="TaggedValueDefinitions")
          public void registerTaggedValueDefinition(TaggedValueDefinition taggedValueDefinition)
                                                                                          throws NullPointerException,
                                                                                                 InvalidParameterException

      Description copied from interface: `Dictionary`

      Add the tagged value definition to those contained in this dictionary.

      Specified by:
        `registerTaggedValueDefinition` in interface `Dictionary`
      Parameters:
        `taggedValueDefinition` - Tagged value definition to add to the dictionary.
      Throws:
        `NullPointerException` - The given tagged value definition is `null`.
        `InvalidParameterException` - The given tagged value definition has the same identifier as one already contained in the dictionary.

    - #### clone

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

    - #### addDefinitions

          public boolean addDefinitions(MetadataObject mdObject)

      Description copied from interface: `Dictionary`

      Scan the given metadata object to see if it contains and references to definitions not known in this dictionary, adding any missing definitions to this dictionary as it goes.

      Specified by:
        `addDefinitions` in interface `Dictionary`
      Parameters:
        `mdObject` - Metadata object to check for missing definitions.
      Returns:
        Are all definitions referenced by the given metadata object now in registered in this dictionary?

    - #### addDefinition

          public boolean addDefinition(DefinitionObject definition)

      Description copied from interface: `Dictionary`

      Add the given definition to this dictionary if it is not already contained. If the definition is already represented, this methods returns successfully.

      Specified by:
        `addDefinition` in interface `Dictionary`
      Parameters:
        `definition` - Definition to add to this dictionary.
      Returns:
        Has the given definition been added to this dictionary successfully.

    - #### getComment

          public String getComment()

      Description copied from interface: `XMLSerializable`

      Include a comment when serializing a value to XML. The comment will be inserted as the first child node of the element representing the class.

      Specified by:
        `getComment` in interface `XMLSerializable`
      Overrides:
        `getComment` in class `InterchangeObjectImpl`
      Returns:
        Comment to add as the first child node of the element representing this class.

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