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

tv.amwa.maj.model.impl

## Class StaticTrackImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.TrackImpl
    - - tv.amwa.maj.model.impl.StaticTrackImpl

- All Implemented Interfaces:
    Serializable, Cloneable, MediaEntity, MetadataObject, XMLSerializable, InterchangeObject, StaticTrack, Track

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=14848,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="StaticTrack",
                  aliases="StaticMobSlot",
                  description="The StaticTrack describes essence data that has no relationship to time, such as a static image.",
                  symbol="StaticTrack")
      public class StaticTrackImpl
      extends TrackImpl
      implements StaticTrack, Serializable, Cloneable

  Implements a single track of essence data that has no relationship to time, such as a static image. As a static track has not relationship with time, it does not specify an edit rate.

  See Also:
    Serialized Form

- - ### Field Summary

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

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StaticTrackImpl()` Default constructor is not public to avoid unset required fields.
    `StaticTrackImpl(int trackID, Segment segment)` Creates and initializes a new static track, which describes essence data that has no relationship to time, such as a static image.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `StaticTrack` | `clone()` Create a cloned copy of this interchange object.
    `void` | `setTrackSegment(Segment segment)` Set the segment for the static track, ensuring that it does not have a length property set.

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

      `getComment, getDataDefinition, getEssenceTrackNumber, getTrackID, getTrackName, getTrackSegment, initializeTrackID, initializeTrackSegment, setEssenceTrackNumber, setTrackID, setTrackName`

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

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

      `getDataDefinition, getEssenceTrackNumber, getTrackID, getTrackName, getTrackSegment, setEssenceTrackNumber, setTrackID, setTrackName`

    - ### 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.io.xml.XMLSerializable

      `appendXMLChildren`

- - ### Constructor Detail

    - #### StaticTrackImpl

          public StaticTrackImpl()

      Default constructor is not public to avoid unset required fields.

    - #### StaticTrackImpl

          public StaticTrackImpl(@UInt32
                                 int trackID,
                                 Segment segment)
                          throws NullPointerException,
                                 IllegalArgumentException

      Creates and initializes a new static track, which describes essence data that has no relationship to time, such as a static image.

      Parameters:
        `trackID` - An integer that is used to reference the new track.
        `segment` - Value of the track.
      Throws:
        `NullPointerException` - The segment argument is `null`.
        `IllegalArgumentException` - Cannot create a new static track with a negative track id.

  - ### Method Detail

    - #### setTrackSegment

          public void setTrackSegment(Segment segment)

      Set the segment for the static track, ensuring that it does not have a length property set.

      Specified by:
        `setTrackSegment` in interface `Track`
      Overrides:
        `setTrackSegment` in class `TrackImpl`
      Parameters:
        `segment` - Segment representing the value for this track.
      See Also:
        `TrackImpl.setTrackSegment(tv.amwa.maj.model.Segment)`

    - #### clone

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

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