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

tv.amwa.maj.model.impl

## Class IdentificationImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.IdentificationImpl

- All Implemented Interfaces:
    Serializable, Cloneable, MediaEntity, MetadataObject, Identification, InterchangeObject

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=12288,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="Identification",
                  description="The Identification class provides information about the application that created or modified the file.",
                  symbol="Identification")
      public class IdentificationImpl
      extends InterchangeObjectImpl
      implements Identification, Serializable, Cloneable

  Implements a representation of identity information about the application that created or modified a file.

  See Also:
    `TypeDefinitions.IdentificationStrongReference`, `TypeDefinitions.IdentificationStrongReferenceVector`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `APICompanyName`
    `static AUID` | `APIProductID`
    `static String` | `APIProductName`
    `static ProductVersion` | `APIProductVersion`
    `static String` | `APIProductVersionString`
    `static ProductVersion` | `APIToolkitVersion`

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

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IdentificationImpl()`
    `IdentificationImpl(String companyName, String productName, String productVersionString, AUID productID)` Creates and initializes a new identification object, which provides information about the application that created or modified the current persistent unit.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Identification` | `clone()` Create a cloned copy of this interchange object.
    `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` | `getApplicationProductIDString()`
    `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` | `getApplicationVersionPersist()`
    `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.
    `String` | `getFileModificationDateString()`
    `Identification` | `getGeneration()` Gets the generation of this object, which identifies when this object was created or last modified.
    `AUID` | `getGenerationID()` Returns the generation identifier of this AAF file, which is an AUID that was generated at the time this identification was created.
    `String` | `getGenerationIDString()`
    `ProductVersion` | `getRefImplVersion()` Returns the version number of this SDK library.
    `ProductVersion` | `getToolkitVersion()` Returns the reference implementation which created this identification object.
    `String` | `getToolkitVersionString()`
    `static String` | `initializeApplicationName()`
    `static AUID` | `initializeApplicationProductID()`
    `static String` | `initializeApplicationSupplierName()`
    `static String` | `initializeApplicationVersionString()`
    `static TimeStamp` | `initializeFileModificationDate()`
    `static AUID` | `initializeGenerationID()`
    `void` | `setApplicationName(String applicationName)`
    `void` | `setApplicationPlatform(String applicationPlatform)`
    `void` | `setApplicationProductID(AUID applicationProductID)`
    `void` | `setApplicationProductIDString(String applicationProductID)`
    `void` | `setApplicationSupplierName(String applicationSupplierName)`
    `void` | `setApplicationVersion(ProductVersion applicationVersion)` Set the application version property of this identification, which specifies the version number of the application.
    `void` | `setApplicationVersionPersist(String applicationVersion)`
    `void` | `setApplicationVersionString(String applicationVersionString)`
    `void` | `setFileModificationDate(TimeStamp fileModificationDate)`
    `void` | `setFileModificationDateString(String fileModificationDate)`
    `void` | `setGenerationID(AUID generationID)`
    `void` | `setGenerationIDString(String generationID)`
    `void` | `setToolkitVersion(ProductVersion toolkitVersion)`
    `void` | `setToolkitVersionString(String toolkitVersion)`

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

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

      `addApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toString`

    - ### Methods inherited from interface tv.amwa.maj.industry.MediaEntity

      `getPersistentID, setPersistentIndex`

- - ### Field Detail

    - #### APICompanyName

          public static final String APICompanyName

      See Also:
        Constant Field Values

    - #### APIProductName

          public static final String APIProductName

      See Also:
        Constant Field Values

    - #### APIProductVersion

          public static final ProductVersion APIProductVersion

    - #### APIProductVersionString

          public static final String APIProductVersionString

      See Also:
        Constant Field Values

    - #### APIProductID

          public static final AUID APIProductID

    - #### APIToolkitVersion

          public static final ProductVersion APIToolkitVersion

  - ### Constructor Detail

    - #### IdentificationImpl

          public IdentificationImpl()

    - #### IdentificationImpl

          public IdentificationImpl(@AAFString
                                    String companyName,
                                    @AAFString
                                    String productName,
                                    @AAFString
                                    String productVersionString,
                                    AUID productID)
                             throws NullPointerException

      Creates and initializes a new identification object, which provides information about the application that created or modified the current persistent unit. The mandatory date and generation AUID properties of the identification will be created automatically.

      Parameters:
        `companyName` - Name of the company or organization that created the application.
        `productName` - Name of the application.
        `productVersionString` - Version number of the application in string form.
        `productID` - Unique identifier for the application.
      Throws:
        `NullPointerException` - One or more of the arguments is `null` and all arguments are required.

  - ### Method Detail

    - #### getApplicationSupplierName

          @MediaProperty(uuid1=85985025,
                         uuid2=513,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ApplicationSupplierName",
                         aliases="CompanyName",
                         typeName="UTF16String",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=15361,
                         symbol="ApplicationSupplierName")
          public String getApplicationSupplierName()

      Description copied from interface: `Identification`

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

      Specified by:
        `getApplicationSupplierName` in interface `Identification`
      Returns:
        Application supplier name of this identification.

    - #### setApplicationSupplierName

          @MediaPropertySetter(value="ApplicationSupplierName")
          public void setApplicationSupplierName(String applicationSupplierName)
                                                                                                throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeApplicationSupplierName

          public static final String initializeApplicationSupplierName()

    - #### getFileModificationDate

          @MediaProperty(uuid1=117571856,
                         uuid2=515,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="FileModificationDate",
                         aliases={"Date","ModificationDate"},
                         typeName="TimeStamp",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=15366,
                         symbol="FileModificationDate")
          public TimeStamp getFileModificationDate()

      Description copied from interface: `Identification`

      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.

      Specified by:
        `getFileModificationDate` in interface `Identification`
      Returns:
        File modification date of this identification.
      See Also:
        `Preface.appendIdentification(Identification)`

    - #### setFileModificationDate

          @MediaPropertySetter(value="FileModificationDate")
          public void setFileModificationDate(TimeStamp fileModificationDate)
                                                                                          throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeFileModificationDate

          public static final TimeStamp initializeFileModificationDate()

    - #### getGenerationID

          @MediaProperty(uuid1=85985025,
                         uuid2=256,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="GenerationID",
                         aliases="GenerationAUID",
                         typeName="AUID",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=15369,
                         symbol="GenerationID")
          public AUID getGenerationID()

      Description copied from interface: `Identification`

      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.

      Specified by:
        `getGenerationID` in interface `Identification`
      Returns:
        Unique generation AUID of this identification.

    - #### setGenerationID

          @MediaPropertySetter(value="GenerationID")
          public void setGenerationID(AUID generationID)
                                                                          throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeGenerationID

          public static final AUID initializeGenerationID()

    - #### getApplicationPlatform

          @MediaProperty(uuid1=85985025,
                         uuid2=1537,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ApplicationPlatform",
                         aliases={"Platform","IdentificationPlatform"},
                         typeName="UTF16String",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=15368,
                         symbol="ApplicationPlatform")
          public String getApplicationPlatform()
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        throws PropertyNotPresentException

      Description copied from interface: `Identification`

      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.

      Specified by:
        `getApplicationPlatform` in interface `Identification`
      Returns:
        Platform property of this identification.
      Throws:
        `PropertyNotPresentException` - The optional platform property is not present in this identification.

    - #### setApplicationPlatform

          @MediaPropertySetter(value="ApplicationPlatform")
          public void setApplicationPlatform(String applicationPlatform)

    - #### getApplicationProductID

          @MediaProperty(uuid1=85985025,
                         uuid2=1792,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ApplicationProductID",
                         aliases="ProductID",
                         typeName="AUID",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=15365,
                         symbol="ApplicationProductID")
          public AUID getApplicationProductID()

      Description copied from interface: `Identification`

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

      Specified by:
        `getApplicationProductID` in interface `Identification`
      Returns:
        Application product id of this identification.

    - #### setApplicationProductID

          @MediaPropertySetter(value="ApplicationProductID")
          public void setApplicationProductID(AUID applicationProductID)
                                                                                          throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeApplicationProductID

          public static final AUID initializeApplicationProductID()

    - #### getApplicationName

          @MediaProperty(uuid1=85985025,
                         uuid2=769,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ApplicationName",
                         aliases="ProductName",
                         typeName="UTF16String",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=15362,
                         symbol="ApplicationName")
          public String getApplicationName()

      Description copied from interface: `Identification`

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

      Specified by:
        `getApplicationName` in interface `Identification`
      Returns:
        Application name of this identification.

    - #### setApplicationName

          @MediaPropertySetter(value="ApplicationName")
          public void setApplicationName(String applicationName)
                                                                                throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeApplicationName

          public static final String initializeApplicationName()

    - #### getApplicationVersion

          @MediaProperty(uuid1=85985025,
                         uuid2=1024,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ApplicationVersion",
                         aliases="ProductVersion",
                         typeName="ProductVersionType",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=15363,
                         symbol="ApplicationVersion")
          public ProductVersion getApplicationVersion()
                                                                                                                                                                                                                                                                                                                                                                                                                                                               throws PropertyNotPresentException

      Description copied from interface: `Identification`

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

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

    - #### setApplicationVersion

          @MediaPropertySetter(value="ApplicationVersion")
          public void setApplicationVersion(ProductVersion applicationVersion)

      Description copied from interface: `Identification`

      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.

      Specified by:
        `setApplicationVersion` in interface `Identification`
      Parameters:
        `applicationVersion` - Application version to set for this identification.

    - #### getApplicationVersionString

          @MediaProperty(uuid1=85985025,
                         uuid2=1281,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ApplicationVersionString",
                         aliases="ProductVersionString",
                         typeName="UTF16String",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=15364,
                         symbol="ApplicationVersionString")
          public String getApplicationVersionString()

      Description copied from interface: `Identification`

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

      Specified by:
        `getApplicationVersionString` in interface `Identification`
      Returns:
        Application version string of this identification.

    - #### setApplicationVersionString

          @MediaPropertySetter(value="ApplicationVersionString")
          public void setApplicationVersionString(String applicationVersionString)
                                                                                                  throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeApplicationVersionString

          public static final String initializeApplicationVersionString()

    - #### getToolkitVersion

          @MediaProperty(uuid1=85985025,
                         uuid2=2560,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ToolkitVersion",
                         typeName="ProductVersionType",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=15367,
                         symbol="ToolkitVersion")
          public ProductVersion getToolkitVersion()
                                                                                                                                                                                                                                                                                                                                                                                                          throws PropertyNotPresentException

      Returns the reference implementation which created this identification object.

      Same as `getRefImplVersion()` to use the AAF specification name.

      Specified by:
        `getToolkitVersion` in interface `Identification`
      Returns:
        Version number of this SDK library.
      Throws:
        `PropertyNotPresentException`
      See Also:
        `Identification.getRefImplVersion()`

    - #### setToolkitVersion

          @MediaPropertySetter(value="ToolkitVersion")
          public void setToolkitVersion(ProductVersion toolkitVersion)

    - #### getRefImplVersion

          public ProductVersion getRefImplVersion()
                                           throws PropertyNotPresentException

      Description copied from interface: `Identification`

      Returns the version number of this SDK library.

      Specified by:
        `getRefImplVersion` in interface `Identification`
      Returns:
        Version number of this SDK library.
      Throws:
        `PropertyNotPresentException`

    - #### getGeneration

          public Identification getGeneration()

      Description copied from interface: `InterchangeObject`

      Gets the generation of this object, which identifies when this object was created or last modified.

      This method will succeed if generation tracking is enabled for this object. Call `InterchangeObject.enableGenerationTracking()` and `InterchangeObject.disableGenerationTracking()` to control generation tracking for this object. Call `InterchangeObject.isGenerationTracked()` to determine if generation tracking is currently enabled for this object.

      Specified by:
        `getGeneration` in interface `InterchangeObject`
      Overrides:
        `getGeneration` in class `InterchangeObjectImpl`
      Returns:
        Identification for when this object was last modified.

    - #### clone

          public Identification 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 `Identification`
      Specified by:
        `clone` in interface `InterchangeObject`
      Overrides:
        `clone` in class `InterchangeObjectImpl`
      Returns:
        Cloned copy of this interchange object.

    - #### getApplicationVersionPersist

          public String getApplicationVersionPersist()

    - #### setApplicationVersionPersist

          public void setApplicationVersionPersist(String applicationVersion)

    - #### getApplicationProductIDString

          public String getApplicationProductIDString()

    - #### setApplicationProductIDString

          public void setApplicationProductIDString(String applicationProductID)

    - #### getFileModificationDateString

          public String getFileModificationDateString()

    - #### setFileModificationDateString

          public void setFileModificationDateString(String fileModificationDate)

    - #### getToolkitVersionString

          public String getToolkitVersionString()

    - #### setToolkitVersionString

          public void setToolkitVersionString(String toolkitVersion)

    - #### getGenerationIDString

          public String getGenerationIDString()

    - #### setGenerationIDString

          public void setGenerationIDString(String generationID)

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