Media Authoring
with Java API

Package tv.amwa.maj.embeddable

Implementations of structured values that can be embedded as properties of entity beans.


Interface Summary
MAJCommon Specifies MAJ API-specific common methods implemented by all classes in the embeddable package.

Class Summary
AUID Implementation of a 16 byte unique identifier whose value is a SMPTE 298M Universal Label or a UUID or GUID.
DateStruct Implementation of the date component of timestamp values that are specified according to Coordinated Universal Time (UTC).
EdgecodeValue Implementation of a value that represents film edge code information.
MobID Implementation of a 32 byte mob id unique identifier that can hold a SMPTE UMID, as specified in SMPTE 330M.
ProductVersion Implementation of a version number for an application, represented with four release levels and its product release type.
ProductVersion.XMLHandler XML parser event handler for converting product version elements into product version values.
Rational Implements a rational number by means of a Java integer numerator (Int32) and a Java integer (Int32) denominator.
RGBAComponent Implements an element of an array representing the order and size of the component values within a pixel value as part of an RGBA Layout.
RGBAComponent.XMLHandler XML parser event handler for converting RGBA component elements into RGBA component values.
TimecodeValue Implementation of a value that represents video tape or audio tape timecode information.
TimeStamp Implementation of a date and time in UTC (Coordinated Universal Time).
TimeStruct Implementation of the time component of date and time values specified according to Coordinated Universal Time (UTC), including hour, minute, second and 1/100th of a second.
VersionType Implements a 2-byte unsigned version number, consisting of a major and minor component.

Enum Summary
AUIDGeneration Enumeration representing the different generation methods for AUIDs.
InstanceNumberGeneration Describes different methods used to generate the instance number part of a UMID, which forms bytes 14, 15 and 16 of a UMID value.
MaterialNumberGeneration Describes the method used to generate the material number part of a UMID, which form the last 16 bytes of a UMID value.

Package tv.amwa.maj.embeddable Description

Implementations of structured values that can be embedded as properties of entity beans. Typically, the classes of this package are taken implementations of AAF record data types, as specified by the interfaces of the record package.

Memory management

Whenever a non-primitive value is requested from one of these classes, a copy is made to ensure no side effects occur to the internal representation of the value. Similarly, whenever a non-primitive value is passed to these classes, it is copied before storage internally to avoid side effects. Applications should take care to ensure that the repeated copying of values does not cause memory management issues.

For an example of the memory management behaviour, see MobID.getMobIDValue() and MobID.setMobIDValue(byte[]).

Final classes and methods

The classes and methods of this package are declared final deliberately. Their specification was derived from C struct declarations and their behaviour is tightly specified. Extensions of these classes that introduce different behaviour or a different approach to MAJ API memory management will not be expected by any MAJ API implementing classes.

This does not prevent another developer from creating their own implementation of the MAJ API interfaces. In this case, unexpected behaviour may result.

Richard Cartwright

Media Authoring
with Java API

(c) 2007-2008 Richard Cartwright, all rights reserved. Subject to the terms of the AAF SDK Public Source License.