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

tv.amwa.maj.model

## Interface DescriptiveObject

- All Superinterfaces:
    InterchangeObject, MediaEntity, MetadataObject
  All Known Subinterfaces:
    Contributor, Organisation, Person
  All Known Implementing Classes:
    ContributorImpl, DescriptiveObjectImpl, OrganisationImpl, PersonImpl

      public interface DescriptiveObject
      extends InterchangeObject

  Specifies an item of descriptive metadata in a descriptive framework.

  Note that in the current implementation of the MAJ API, no descriptive schemes have been implemented and so no classes implement this interface.

  See Also:
    `DescriptiveFramework`, `DescriptiveMarker`, `TypeDefinitions.DescriptiveObjectStrongReference`, `TypeDefinitions.DescriptiveObjectStrongReferenceSet`, `TypeDefinitions.DescriptiveObjectStrongReferenceVector`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `DescriptiveObject` | `clone()` Create a cloned copy of this descriptive object.
    `AUID` | `getLinkedDescriptiveObjectPluginID()` Returns the identifier of the descriptive marker that indirectly strongly references this descriptive object instance.
    `void` | `setLinkedDescriptiveObjectPluginID(AUID linkedDescriptiveObjectPluginID)` Sets the identifier of the descriptive marker that indirectly strongly references this descriptive object 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

    - #### getLinkedDescriptiveObjectPluginID

          AUID getLinkedDescriptiveObjectPluginID()
                                           throws PropertyNotPresentException

      Returns the identifier of the descriptive marker that indirectly strongly references this descriptive object instance. This is an optional property.

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

    - #### setLinkedDescriptiveObjectPluginID

          void setLinkedDescriptiveObjectPluginID(AUID linkedDescriptiveObjectPluginID)

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

      Parameters:
        `linkedDescriptiveObjectPluginID` - Identifier of the descriptive marker that indirectly strongly references this descriptive object instance.

    - #### clone

          DescriptiveObject clone()

      Create a cloned copy of this descriptive object.

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

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