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

tv.amwa.maj.model

## Interface DescriptiveFramework

- All Superinterfaces:
    InterchangeObject, MediaEntity, MetadataObject
  All Known Subinterfaces:
    SimpleDescription
  All Known Implementing Classes:
    DescriptiveFrameworkImpl, SimpleDescriptionImpl

      public interface DescriptiveFramework
      extends InterchangeObject

  Specifies a framework for descriptive metadata. Sub-interfaces of this interface are taken from vocabularies of descriptive metadata, such as DMS-1, known as descriptive metadata schemes.

  Note that in the current implementation of the MAJ API, no descriptive schemes have been implemented.

  See Also:
    `Preface.getDescriptiveSchemes()`, `DescriptiveObject`, `DescriptiveMarker.getDescriptiveFrameworkObject()`, `TypeDefinitions.DescriptiveFrameworkStrongReference`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `DescriptiveFramework` | `clone()` Create a cloned copy of this descriptive framework.
    `AUID` | `getLinkedDescriptiveFrameworkPluginID()` Return the identifier of the descriptive marker that strongly references this descriptive framework instance.
    `void` | `setLinkedDescriptiveFrameworkPluginID(AUID linkedDescriptiveFrameworkPluginID)` Sets the identifier of the descriptive marker that strongly references this descriptive framework instance.

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

- - ### Method Detail

    - #### getLinkedDescriptiveFrameworkPluginID

          AUID getLinkedDescriptiveFrameworkPluginID()
                                              throws PropertyNotPresentException

      Return the identifier of the descriptive marker that strongly references this descriptive framework instance. This is an optional property.

      Returns:
        Identifier of the descriptive marker that strongly references this descriptive framework instance.
      Throws:
        `PropertyNotPresentException` - The optional linked descriptive framework plugin property is not present for this descriptive framework.
      See Also:
        `DescriptiveMarker.getDescriptiveMetadataPluginID()`

    - #### setLinkedDescriptiveFrameworkPluginID

          void setLinkedDescriptiveFrameworkPluginID(AUID linkedDescriptiveFrameworkPluginID)

      Sets the identifier of the descriptive marker that strongly references this descriptive framework instance. Set this optional property to `null` to omit it.

      Parameters:
        `linkedDescriptiveFrameworkPluginID` - Identifier of the Descriptive marker that strongly references this descriptive framework instance.

    - #### clone

          DescriptiveFramework clone()

      Create a cloned copy of this descriptive framework.

      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `MediaEntity`
      Returns:
        Cloned copy of this descriptive framework.

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