tv.amwa.maj.misctype (Media Authoring with Java API)
Date: 2016-02-05

# Package tv.amwa.maj.misctype

Provides annotations that describe the mapping of miscellaneous AAF data types to Java data types.

See: Description

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  AAFString | Labels a string of Unicode characters.
  ArgIDType | Labels an `AUID` that defines an operation parameter.
  AUIDArray | Labels an array of 16-byte unique identifiers.
  Bool | Label for a Java boolean value used to represent an AAF Boolean value.
  Char | Labels a single 2-byte character value, represented by a Java `char`.
  ClassID | Label for an AUID that represents the category of a plugin.
  CodecID | Labels an AUID used to identify a codec.
  CompArray | Labels an array that specifies the order in which the RGBA components are stored as an array of characters.
  CompSizeArray | Labels an array in which the elements represent the number of bits reserved for each component of an array of `RGBAComponents`.
  DataBuffer | Labels a buffer of data (octet data), represented as a Java `byte[]`.
  DataValue | Labels essence or a block of data, represented by a Java `byte[]`, where the type of the data is specified by a data kind.
  EdgecodeHeader | Labels a Java byte array (`byte[]`) that represents the text prefix identifying a film, known as the edgecode header.
  Engine | Labels an AUID representing a software engine id for the software subsystem used by a plugin for essence management and playback.
  FrameLength | Label for a Java `long` value used to represent the length of some media as a frame count.
  FrameOffset | Labels a Java `long` value as an offset into time-varying essence, measured as an offset and counted in frames.
  HardwarePlatform | Labels an AUID that identifies a platform environment.
  JPEGTableIDType | Labels an integer (Java `int`) value that identifies the JPEG tables used in compressing TIFF data.
  LengthType | Labels a Java `long` value used to represent the length of a component.
  NumTracks | Labels an integer (Java `int`) value that counts the number of tracks contained within a package or the number of packages stored in content storage.
  PackageIDType | Labels any package id value holding a unique material identification number.
  PhaseFrameType | Labels an integer (Java `int`) value that represents the phase within the repeating pulldown pattern of the first frame after the pulldown conversion.
  PluginAPI | Labels an AUID that identifies the plugin interface supported by a plugin.
  PositionType | Labels a Java `long` value as an offset into a component.
  RGBALayout | Labels an array of `RGBAComponent` values that represent the order and size of the components specifying the value of a pixel.
  TrackID | Labels an integer (Java `int`) value used to uniquely identify a track within a package.
  VideoLineMap | Labels an integer array (Java `int[]`) with 2 elements used to represent a video line map property.

## Package tv.amwa.maj.misctype Description

Provides annotations that describe the mapping of miscellaneous AAF data types to Java data types. These annotations are designed to assist a developer by providing additional information about to interprete a value over and above the value's generic type definition.

## Annotation usage

These annotations are primarily used to label methods in the MAJ API interfaces package and record packages. For example, the get and set methods for the video line map property of a picture descriptor are:

        public @VideoLineMap int[] getVideoLineMap();

        public void setVideoLineMap(@VideoLineMap int[] videoLineMap)
            throws NullPointerException;

These annotations are provided for source code use only and are not available via the Java reflection API at runtime.

## Heritage

These annotations are derived from a combination of:

- the renamed type definitions of the standard AAF meta dictionary;
- type name aliases defined in the C-based AAF SDK in file "`AAFTypes.h`".

To look up the Java type used to represent a C data type in the AAF SDK, or vice versa, use the utility type lookup table.

See Also:
  `TypeDefinitionRename`

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