Specifications of representations of structured values, such as those of the {@linkplain tv.amwa.maj.meta.TypeDefinitionRecord AAF record data types}. {@linkplain tv.amwa.maj.industry.PropertyValue Property values} of the record type consist of values for an ordered set of fields, where each field has a name and type.

Included in this package are:

A generic means of mapping the public fields of any Java class to an AAF record type definition is provided by the {@link tv.amwa.maj.meta.TypeDefinitionRecord#createValueFromObject(Object) createValueFromObject()} and {@link tv.amwa.maj.meta.TypeDefinitionRecord#getObject(tv.amwa.maj.industry.PropertyValue) getObject()} methods of a {@linkplain tv.amwa.maj.meta.TypeDefinitionRecord record type definition}.

Heritage

The interfaces defined in this package are derived from structures defined for the C-based AAF SDK in file "AAFTypes.h". The structure has been converted to a Java interface with every element of the C struct represented by a pair of get and set methods.

For example, the AAF rational data type is defined in the AAF SDK by the following structure:

    typedef struct _aafRational_t
    {
        aafInt32           numerator;
        aafInt32           denominator;
    } aafRational_t;

This has been translated to the Java interface called {@link tv.amwa.maj.record.Rational Rational} as follows:

    public interface Rational {
        @Int32 getNumerator();
        void setNumerator(@Int32 int numerator);
        @Int32 getDenominator();
        void setDenominator(@Int32 int denominator);
    }
@see tv.amwa.maj.meta.TypeDefinitionRecord