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

tv.amwa.maj.model.impl

## Class KLVDataDefinitionImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.DefinitionObjectImpl
    - - tv.amwa.maj.model.impl.KLVDataDefinitionImpl

- All Implemented Interfaces:
    Serializable, Cloneable, MediaEntity, MetadataObject, WeakReferenceTarget, DefinitionObject, DefinitionType, InterchangeObject, KLVDataDefinition

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=19712,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="KLVDataDefinition",
                  description="The KLVDataDefinition class documents the KLVData objects used in the file.",
                  symbol="KLVDataDefinition")
      public class KLVDataDefinitionImpl
      extends DefinitionObjectImpl
      implements KLVDataDefinition, Serializable, Cloneable

  Implements a representation of the documentation for the KLV data objects used in a file.

  See Also:
    `TypeDefinitions.KLVDataDefinitionStrongReference`, `TypeDefinitions.KLVDataDefinitionStrongReferenceSet`, Serialized Form

- - ### Field Summary

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

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `KLVDataDefinitionImpl()`
    `KLVDataDefinitionImpl(AUID identification, String name)` Creates and initializes a new KLV data definition, which documents the `KLVDataImpl` objects used in the current persistent unit.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `KLVDataDefinition` | `clone()` Create a cloned copy of this interchange object.
    `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 class tv.amwa.maj.model.impl.DefinitionObjectImpl

      `getAUID, getDefinitionObjectIdentificationString, getDescription, getLocalizedUID, getName, getWeakTargetReference, initializeDefinitionObjectIdentification, initializeDefinitionObjectName, setAUID, setDefinitionObjectIdentificationString, setDescription, setLocalizedUID, setName`

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

      `addApplicationPlugin, appendXMLChildren, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getComment, 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.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`

- - ### Constructor Detail

    - #### KLVDataDefinitionImpl

          public KLVDataDefinitionImpl()

    - #### KLVDataDefinitionImpl

          public KLVDataDefinitionImpl(AUID identification,
                                       @AAFString
                                       String name)
                                throws NullPointerException

      Creates and initializes a new KLV data definition, which documents the `KLVDataImpl` objects used in the current persistent unit.

      Parameters:
        `identification` - Unique identifier for the KLV data definition.
        `name` - Display name for the KLV data definition.
      Throws:
        `NullPointerException` - One or both of the arguments is `null`.

  - ### Method Detail

    - #### getKLVDataType

          @MediaProperty(uuid1=100729092,
                         uuid2=265,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,7},
                         definedName="KLVDataType",
                         typeName="TypeDefinitionWeakReference",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=19730,
                         symbol="KLVDataType")
          public TypeDefinition getKLVDataType()

      Description copied from interface: `KLVDataDefinition`

      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.

      Specified by:
        `getKLVDataType` in interface `KLVDataDefinition`
      Returns:
        The type definition referenced by this KLV data definition.
      See Also:
        `TypeDefinitionOpaque`

    - #### setKLVDataType

          @MediaPropertySetter(value="KLVDataType")
          public void setKLVDataType(TypeDefinition typeDefinition)

      Description copied from interface: `KLVDataDefinition`

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

      Specified by:
        `setKLVDataType` in interface `KLVDataDefinition`
      Parameters:
        `typeDefinition` - Referenced type definition that is the KLV data type property of this KLV data definition.

    - #### clone

          public KLVDataDefinition 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 `DefinitionObject`
      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `KLVDataDefinition`
      Overrides:
        `clone` in class `DefinitionObjectImpl`
      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.