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

tv.amwa.maj.model

## Interface KLVDataDefinition

- All Superinterfaces:
    DefinitionObject, InterchangeObject, MediaEntity, MetadataObject, WeakReferenceTarget
  All Known Implementing Classes:
    KLVDataDefinitionImpl

      public interface KLVDataDefinition
      extends DefinitionObject

  Specifies the documentation for the KLV data objects used in a file.

  The identification property of the definition object super-class shall identify a particular AUID that is used for the key of instances of the KLV data being documented.

  See Also:
    `Dictionary.getKLVDataDefinitions()`, `TypeDefinitions.KLVDataDefinitionStrongReference`, `TypeDefinitions.KLVDataDefinitionStrongReferenceSet`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `KLVDataDefinition` | `clone()` Create a cloned copy of this KLV data definition.
    `TypeDefinition` | `getKLVDataType()` Returns the KLV data type property for this KLV data definition, which specifies the type of the value of the documented KLV data.
    `void` | `setKLVDataType(TypeDefinition typeDefinition)` Sets the KLV data type property of this KLV data definition, which specifies the type of the value of the documented KLV data.

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

      `getAUID, getDescription, getName, setDescription, setName`

    - ### 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.industry.WeakReferenceTarget

      `getWeakTargetReference`

- - ### Method Detail

    - #### getKLVDataType

          TypeDefinition getKLVDataType()

      Returns the KLV data type property for this KLV data definition, which specifies the type of the value of the documented KLV data.

      If this optional property is omitted, the default value of a reference to the type named "VariableArray of UInt8" is returned.

      Returns:
        The type definition referenced by this KLV data definition.
      See Also:
        `TypeDefinitionOpaque`

    - #### setKLVDataType

          void setKLVDataType(TypeDefinition typeDefinition)

      Sets the KLV data type property of this KLV data definition, which specifies the type of the value of the documented KLV data.

      To omit this optional property, call this method with `null`.

      Parameters:
        `typeDefinition` - Referenced type definition that is the KLV data type property of this KLV data definition.

    - #### clone

          KLVDataDefinition clone()

      Create a cloned copy of this KLV data definition.

      Specified by:
        `clone` in interface `DefinitionObject`
      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `MediaEntity`
      Returns:
        Cloned copy of this KLV data definition.

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