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

tv.amwa.maj.model.impl

## Class EdgeCodeSegmentImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.ComponentImpl
    - - tv.amwa.maj.model.impl.SegmentImpl
      - - tv.amwa.maj.model.impl.EdgeCodeSegmentImpl

- All Implemented Interfaces:
    Serializable, Cloneable, QComponent, QSegment, MediaEntity, MetadataObject, Component, EdgeCodeSegment, InterchangeObject, Segment

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=1024,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="EdgeCode",
                  description="The Edgecode class stores film edge code information.",
                  symbol="EdgeCode")
      public class EdgeCodeSegmentImpl
      extends SegmentImpl
      implements EdgeCodeSegment, Serializable, Cloneable

  Implements the storage of film edge code information.

  See Also:
    Serialized Form

- - ### Field Summary

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

      `ObjectClassPropertyID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EdgeCodeSegmentImpl()`
    `EdgeCodeSegmentImpl(long length, EdgeCodeValue edgecode)` Creates and initializes a new edgecode segment, which stores film edge code information.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clearEdgeCodeHeader()`
    `EdgeCodeSegment` | `clone()` Create a cloned copy of this interchange object.
    `EdgeCodeValue` | `getEdgecode()` Returns the edgecode value stored by this edgecode segment.
    `FilmType` | `getEdgeCodeFilmFormat()` Returns the type of film of the underlying edgecode value.
    `EdgeType` | `getEdgeCodeFormat()` Returns the type of edgecode of the underlying edgecode value.
    `byte[]` | `getEdgeCodeHeader()` Returns the header of the underlying edgecode value, or an empty byte array if the optional property is not set.
    `String` | `getEdgeCodeHeaderAsString()` Returns the text prefix the identifies the film as a string value.
    `long` | `getEdgeCodeStart()` Returns the edgecode at the beginning of the segment.
    `static FilmType` | `initializeEdgeCodeFilmFormat()`
    `static EdgeType` | `initializeEdgeCodeFormat()`
    `static long` | `initializeEdgeCodeStart()`
    `void` | `setEdgeCodeFilmFormat(FilmType edgeCodeFilmFormat)`
    `void` | `setEdgeCodeFormat(EdgeType edgeCodeFormat)`
    `void` | `setEdgeCodeHeader(byte[] edgeCodeHeader)`
    `void` | `setEdgeCodeStart(long startFrame)`

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

      `generateSequence, getCutPoint, getKeyOffset, getPackLayerKeyIndicator, getSegmentBlob, getTrackBlob, getTrackKeyRenderSequence, getTrackName, getTrackRenderSequence, segmentOffsetToTC, segmentTCToOffset, setCutPoint, setKeyOffset, setPackLayerKeyIndicator, setSegmentBlob, setTrackBlob, setTrackKeyRenderSequence, setTrackName, setTrackRenderSequence`

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

      `appendComponentAttribute, appendComponentAttribute, appendComponentKLVData, appendComponentUserComment, appendComponentUserComment, clearComponentAttributes, clearComponentKLVData, clearComponentUserComments, countComponentAttributes, countComponentKLVData, countComponentUserComments, getComment, getComponentAttributes, getComponentDataDefinition, getComponentKLVData, getComponentLength, getComponentUserComments, getEditName, getJupiterClipOffset, getJupiterID, getLengthPresent, initializeComponentDataDefinition, prependComponentAttribute, prependComponentKLVData, prependComponentUserComment, removeComponentAttribute, removeComponentKLVData, removeComponentUserComment, setComponentDataDefinition, setComponentLength, setComponentLengthFromStream, setEditName, setJupiterClipOffset, setJupiterID, setLengthPresent`

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

      `generateSequence, segmentOffsetToTC, segmentTCToOffset`

    - ### Methods inherited from interface tv.amwa.maj.model.Component

      `appendComponentAttribute, appendComponentAttribute, appendComponentKLVData, appendComponentUserComment, appendComponentUserComment, clearComponentAttributes, clearComponentKLVData, clearComponentUserComments, countComponentAttributes, countComponentKLVData, countComponentUserComments, getComponentAttributes, getComponentDataDefinition, getComponentKLVData, getComponentLength, getComponentUserComments, getLengthPresent, removeComponentAttribute, removeComponentKLVData, removeComponentUserComment, setComponentDataDefinition, setComponentLength, setLengthPresent`

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

- - ### Constructor Detail

    - #### EdgeCodeSegmentImpl

          public EdgeCodeSegmentImpl()

    - #### EdgeCodeSegmentImpl

          public EdgeCodeSegmentImpl(long length,
                                     EdgeCodeValue edgecode)
                              throws NullPointerException,
                                     BadLengthException,
                                     BadSizeException

      Creates and initializes a new edgecode segment, which stores film edge code information.

      Parameters:
        `length` - Duration in edit units of this component.
        `edgecode` - Edgecode value for the new edgecode segment.
      Throws:
        `NullPointerException` - Edgecode argument is null.
        `BadLengthException` - Cannot set the length of a component to a negative value.
        `BadSizeException` - The given edgecode value has a header that is longer than 8 bytes.

  - ### Method Detail

    - #### getEdgecode

          public EdgeCodeValue getEdgecode()

      Description copied from interface: `EdgeCodeSegment`

      Returns the edgecode value stored by this edgecode segment.

      Specified by:
        `getEdgecode` in interface `EdgeCodeSegment`
      Returns:
        Edgecode value of this edgecode segment.
      See Also:
        `EdgeCodeSegment.getEdgeCodeFormat()`, `EdgeCodeSegment.getEdgeCodeFilmFormat()`, `EdgeCodeSegment.getEdgeCodeStart()`, `EdgeCodeSegment.getEdgeCodeHeader()`, `EdgeCodeSegment.getEdgeCodeHeaderAsString()`

    - #### getEdgeCodeFilmFormat

          @MediaProperty(uuid1=68157699,
                         uuid2=265,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="EdgeCodeFilmFormat",
                         aliases={"FilmKind","FilmFormat"},
                         typeName="FilmType",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=1026,
                         symbol="EdgeCodeFilmFormat")
          public FilmType getEdgeCodeFilmFormat()

      Returns the type of film of the underlying edgecode value.

      Specified by:
        `getEdgeCodeFilmFormat` in interface `EdgeCodeSegment`
      Returns:
        Type of film of the underlying edgecode value.
      See Also:
        `FilmType`

    - #### setEdgeCodeFilmFormat

          @MediaPropertySetter(value="EdgeCodeFilmFormat")
          public void setEdgeCodeFilmFormat(FilmType edgeCodeFilmFormat)
                                                                                      throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeEdgeCodeFilmFormat

          public static final FilmType initializeEdgeCodeFilmFormat()

    - #### getEdgeCodeFormat

          @MediaProperty(uuid1=68157699,
                         uuid2=258,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,1},
                         definedName="EdgeCodeFormat",
                         aliases="CodeFormat",
                         typeName="EdgeType",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=1027,
                         symbol="EdgeCodeFormat")
          public EdgeType getEdgeCodeFormat()

      Returns the type of edgecode of the underlying edgecode value.

      Specified by:
        `getEdgeCodeFormat` in interface `EdgeCodeSegment`
      Returns:
        Type of edgecode of the underlying edgecode value.
      See Also:
        `EdgeType`

    - #### setEdgeCodeFormat

          @MediaPropertySetter(value="EdgeCodeFormat")
          public void setEdgeCodeFormat(EdgeType edgeCodeFormat)
                                                                              throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeEdgeCodeFormat

          public static final EdgeType initializeEdgeCodeFormat()

    - #### getEdgeCodeHeader

          @MediaProperty(uuid1=16974337,
                         uuid2=512,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="EdgeCodeHeader",
                         aliases="Header",
                         typeName="DataValue",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=1028,
                         symbol="EdgeCodeHeader")
          public byte[] getEdgeCodeHeader()
                                                                                                                                                                                                                                                                                                                                                                                                                        throws PropertyNotPresentException

      Returns the header of the underlying edgecode value, or an empty byte array if the optional property is not set. This implementation limits headers to 8 bytes in length.

      Specified by:
        `getEdgeCodeHeader` in interface `EdgeCodeSegment`
      Returns:
        Header of the underlying edgecode value, or an empty byte array if the optional property is not set.
      Throws:
        `PropertyNotPresentException` - The optional header property is not present for this edgecode value.
      See Also:
        `EdgeCodeSegment.getEdgecode()`, `EdgeCodeSegment.getEdgeCodeHeaderAsString()`

    - #### getEdgeCodeHeaderAsString

          public String getEdgeCodeHeaderAsString()

      Description copied from interface: `EdgeCodeSegment`

      Returns the text prefix the identifies the film as a string value. Typically, this is a text string of no more than 8 7-bit ISO characters. This is an optional property.

      Specified by:
        `getEdgeCodeHeaderAsString` in interface `EdgeCodeSegment`
      Returns:
        Text prefix that identifies the film as a string.
      See Also:
        `EdgeCodeSegment.getEdgecode()`, `EdgeCodeSegment.getEdgeCodeHeader()`

    - #### setEdgeCodeHeader

          @MediaPropertySetter(value="EdgeCodeHeader")
          public void setEdgeCodeHeader(byte[] edgeCodeHeader)
                                                                              throws BadSizeException

      Throws:
        `BadSizeException`

    - #### clearEdgeCodeHeader

          @MediaPropertyClear(value="EdgeCodeHeader")
          public void clearEdgeCodeHeader()

    - #### getEdgeCodeStart

          @MediaProperty(uuid1=17041665,
                         uuid2=0,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="EdgeCodeStart",
                         aliases="Start",
                         typeName="PositionType",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=1025,
                         symbol="EdgeCodeStart")
          public long getEdgeCodeStart()

      Returns the edgecode at the beginning of the segment.

      Specified by:
        `getEdgeCodeStart` in interface `EdgeCodeSegment`
      Returns:
        Edgecode and the beginning of the segment.
      See Also:
        `EdgeCodeSegment.getEdgecode()`

    - #### setEdgeCodeStart

          @MediaPropertySetter(value="EdgeCodeStart")
          public void setEdgeCodeStart(@PositionType
                                                                                   long startFrame)

    - #### initializeEdgeCodeStart

          public static final long initializeEdgeCodeStart()

    - #### clone

          public EdgeCodeSegment 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 `Component`
      Specified by:
        `clone` in interface `EdgeCodeSegment`
      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `Segment`
      Overrides:
        `clone` in class `SegmentImpl`
      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.