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

tv.amwa.maj.model

## Interface Identification

- All Superinterfaces:
    InterchangeObject, MediaEntity, MetadataObject
  All Known Implementing Classes:
    IdentificationImpl

      public interface Identification
      extends InterchangeObject

  Specifies identity information about the application that created or modified a file.

  If a file was opened for modification by many applications in its lifetime, then there will be multiple identification objects. These are kept in an ordered list, with the first entry being the file creator, and the last entry being the last application to modify the file. The list is stored in the preface of a file and accessed with `Preface.getIdentifications()`.

  An identification is useful for technical support when diagnosing problems with AAF files, as it tells which applications and versions of applications have touched the file. If a file has been modified by multiple applications, then the date and product id properties can be used to tell which changes to the file were made by a particular application.

  See Also:
    `Preface.getLastIdentification()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Identification` | `clone()` Create a cloned copy of this identification.
    `String` | `getApplicationName()` Returns the application name of this identification, which specifies the name of the application.
    `String` | `getApplicationPlatform()` Returns the application platform property of this identification, which specifies the toolkit and the platform on which the application is running, e.g.
    `AUID` | `getApplicationProductID()` Returns the application product id of this identification, which uniquely identifies the application.
    `String` | `getApplicationSupplierName()` Returns the application supplier name property of this identification, which specifies the name of the company or organization that created the application.
    `ProductVersion` | `getApplicationVersion()` Gets the application version property associated with this identification, which specifies the version number of the application.
    `String` | `getApplicationVersionString()` Returns the application version string of this identification, which specifies the version number of the application in string form.
    `TimeStamp` | `getFileModificationDate()` Returns the file modification date property of this identification.
    `AUID` | `getGenerationID()` Returns the generation identifier of this AAF file, which is an AUID that was generated at the time this identification was created.
    `ProductVersion` | `getRefImplVersion()` Returns the version number of this SDK library.
    `ProductVersion` | `getToolkitVersion()` Returns the version number of this SDK library..
    `void` | `setApplicationVersion(ProductVersion version)` Set the application version property of this identification, which specifies the version number of the application.

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

    - #### getApplicationSupplierName

          @AAFString
          String getApplicationSupplierName()

      Returns the application supplier name property of this identification, which specifies the name of the company or organization that created the application.

      Returns:
        Application supplier name of this identification.

    - #### getApplicationName

          @AAFString
          String getApplicationName()

      Returns the application name of this identification, which specifies the name of the application.

      Returns:
        Application name of this identification.

    - #### getApplicationVersionString

          @AAFString
          String getApplicationVersionString()

      Returns the application version string of this identification, which specifies the version number of the application in string form.

      Returns:
        Application version string of this identification.

    - #### getApplicationVersion

          ProductVersion getApplicationVersion()
                                        throws PropertyNotPresentException

      Gets the application version property associated with this identification, which specifies the version number of the application. This is an optional property.

      Returns:
        Application version property associated with this identification.
      Throws:
        `PropertyNotPresentException` - The optional product version property is not present in this identification.

    - #### setApplicationVersion

          void setApplicationVersion(ProductVersion version)

      Set the application version property of this identification, which specifies the version number of the application. Set this optional property to `null` to omit it.

      Parameters:
        `version` - Application version to set for this identification.

    - #### getApplicationProductID

          AUID getApplicationProductID()

      Returns the application product id of this identification, which uniquely identifies the application.

      Returns:
        Application product id of this identification.

    - #### getFileModificationDate

          TimeStamp getFileModificationDate()

      Returns the file modification date property of this identification. The date-time stamp recorded in this object corresponds to the time that this file was created or modified on the occasion that this identification was added to the file.

      Returns:
        File modification date of this identification.
      See Also:
        `Preface.appendIdentification(Identification)`

    - #### getRefImplVersion

          ProductVersion getRefImplVersion()

      Returns the version number of this SDK library.

      Returns:
        Version number of this SDK library.

    - #### getToolkitVersion

          ProductVersion getToolkitVersion()

      Returns the version number of this SDK library..

      Returns:
        Version number of this SDK library.

    - #### getApplicationPlatform

          @AAFString
          String getApplicationPlatform()
                                            throws PropertyNotPresentException

      Returns the application platform property of this identification, which specifies the toolkit and the platform on which the application is running, e.g. "MAJ API". This is an optional property.

      This information is provided only to allow diagnostic printing of platform information to be read by humans. The format of the strings is not guaranteed to remain the same for a given platform.

      Returns:
        Platform property of this identification.
      Throws:
        `PropertyNotPresentException` - The optional platform property is not present in this identification.

    - #### getGenerationID

          AUID getGenerationID()

      Returns the generation identifier of this AAF file, which is an AUID that was generated at the time this identification was created. If a file was opened for modification by many applications in its lifetime, then there will be multiple Identification objects.

      Note that this is a read-only property automatically generated by the implementation.

      Returns:
        Unique generation AUID of this identification.

    - #### clone

          Identification clone()

      Create a cloned copy of this identification.

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

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