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

tv.amwa.maj.model

## Interface DefinitionObject

- All Superinterfaces:
    InterchangeObject, MediaEntity, MetadataObject, WeakReferenceTarget
  All Known Subinterfaces:
    CodecDefinition, ContainerDefinition, DataDefinition, InterpolationDefinition, KLVDataDefinition, OperationDefinition, ParameterDefinition, PluginDefinition, TaggedValueDefinition
  All Known Implementing Classes:
    CodecDefinitionImpl, ContainerDefinitionImpl, DataDefinitionImpl, DefinitionObjectImpl, InterpolationDefinitionImpl, KLVDataDefinitionImpl, OperationDefinitionImpl, ParameterDefinitionImpl, PluginDefinitionImpl, TaggedValueDefinitionImpl

      public interface DefinitionObject
      extends InterchangeObject, WeakReferenceTarget

  Specifies a definition to be referenced.

  See Also:
    `Dictionary`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `DefinitionObject` | `clone()` Create a cloned copy of this definition object.
    `AUID` | `getAUID()` Returns the identifier of this definition, which specifies the unique identifier for the item being defined.
    `String` | `getDescription()` Returns the description of this definition, which provides an explanation of the use of the item being defined.
    `String` | `getName()` Returns the display name of this definition.
    `void` | `setDescription(String description)` Sets the description of this definition, which provides an explanation of the use of the item being defined.
    `void` | `setName(String name)` Sets the display name of this definition.

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

    - #### setName

          void setName(@AAFString
                       String name)
                throws NullPointerException

      Sets the display name of this definition.

      Parameters:
        `name` - The display name of the item being defined.
      Throws:
        `NullPointerException` - The given display name is `null`.

    - #### getName

          @AAFString
          String getName()

      Returns the display name of this definition.

      Returns:
        name The display name of the item being defined.

    - #### setDescription

          void setDescription(@AAFString
                              String description)

      Sets the description of this definition, which provides an explanation of the use of the item being defined. Set this optional property to `null` to omit it.

      Parameters:
        `description` - An explanation of the use of the item being defined.

    - #### getDescription

          @AAFString
          String getDescription()
                                    throws PropertyNotPresentException

      Returns the description of this definition, which provides an explanation of the use of the item being defined. This is an optional property.

      Returns:
        An explanation of the use of the item being defined.
      Throws:
        `PropertyNotPresentException` - The optional property is not set for this definition.

    - #### getAUID

          AUID getAUID()

      Returns the identifier of this definition, which specifies the unique identifier for the item being defined.

      Specified by:
        `getAUID` in interface `WeakReferenceTarget`
      Returns:
        The unique identifier for the item being defined.

    - #### clone

          DefinitionObject clone()

      Create a cloned copy of this definition object.

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

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