See: Description
| Class | Description |
|---|---|
| AUIDImpl |
Implementation of a 16 byte unique identifier whose value is a
SMPTE 298M Universal Label or a UUID or GUID.
|
| DateStructImpl |
Implementation of the date component of timestamp values that are specified
according to Coordinated Universal Time (UTC).
|
| EdgeCodeValueImpl |
Implementation of a value that represents film edge code information.
|
| PackageIDImpl |
Implementation of a 32 byte package id unique identifier that can hold a SMPTE UMID, as specified in
SMPTE 330M.
|
| ProductVersionImpl |
Implementation of a version number for an application, represented with four release
levels and its product release type.
|
| ProductVersionImpl.XMLHandler |
XML parser event handler for converting product version elements into product version
values.
|
| RationalImpl | |
| RGBAComponentImpl |
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.
|
| RGBAComponentImpl.XMLHandler |
XML parser event handler for converting RGBA component elements into RGBA component
values.
|
| TimecodeValueImpl |
Implementation of a value that represents video tape or audio tape timecode information.
|
| TimeStampImpl |
Implementation of a date and time in UTC (Coordinated Universal Time).
|
| TimeStructImpl |
Implementation of the time component of date and time values specified according to
Coordinated Universal Time (UTC), including hour, minute, second and 1/250th of a second.
|
| VersionTypeImpl |
Implements a 2-byte version number, consisting of a major and minor component.
|
| Enum | Description |
|---|---|
| AUIDGeneration |
Enumeration representing the different generation methods for AUIDs.
|
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.
The MAJ implementations of these classes are registered with the record type definition that represents them. This allows the values to be serialised to and from files and streams.
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 tv.amwa.maj.embeddable.PackageID#getPackageIDValue() and
tv.amwa.maj.embeddable.PackageID#setPackageIDValue(byte[]).
Values that have a defined string representation, e.g. a rational
representing a half can be written "1/2", will generate this when the
toString() method is called on them. Classes without an obvious
simple representation, such as Timecode, will generate a pseudo XML
representation similar that that which appears in Reg-XML.
All classes in this package implement a parseFactory(String) method
that parses the given string an creates an instance of the defining class. This is
used when creating values from strings using the record type definition's createValueFromString(String) method.
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.
(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.