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

tv.amwa.maj.industry

## Interface AAFSpecifiedClasses

- All Known Implementing Classes:
    LocalHandler, MasterContentHandler, MetadataObjectHandler, ProductVersionImpl.XMLHandler, RGBAComponentImpl.XMLHandler

      public interface AAFSpecifiedClasses

  Lists of classes implementing thoses specified for the Advanced Authoring Format (AAF). These classes are as specified in the AAF Object Specification v1.1, along with some recent additions to the meta dictionary so as to remain consistent with the C-based reference implementation.

  The MAJ API is designed to be dynamically extendible at runtime by loading in implementations of extensions classes. Classes not listed in the arrays of this class are treated as extensions.

  Abstract and concrete, classes and meta classes are separated out into separate lists:

  - abstract classes are in lists `abstractInterchangeable` and `abstractMeta`;
  - concrete classes are in lists `interchangeable` and `meta`;
  - interchangeable non-meta classes in lists `abstractInterchangeable` and `interchangeable`;
  - meta-classes, classes that describe the interchangeabe objects, in lists `meta` and `abstractMeta`.

  All the classes in the lists implement `MetadataObject` and are annotated with `@MediaClass`.

  These lists can be used to bootstrap applications or to check whether a given class is as specified or an extension. The MediaEngine uses these lists to initialize an application ready to use AAF classes and data types.

  See Also:
    `Warehouse.lookForClass(Class)`, `MediaClass`, `MediaEntity`, `Root.getRootExtensions()`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Class<?>[]` | `abstractInterchangeable` List of abstract AAF classes that are part of the interchangeable object hierarchy, i.e.
    `static Class<?>[]` | `abstractMeta` List of all abstract AAF meta definition abstract classes.
    `static Class<?>[]` | `existingMeta`
    `static Class<?>[]` | `interchangeable` List of concrete AAF classes that are interchangeable as they extend `InterchangeObject`.
    `static Class<?>[]` | `meta` List of all concrete AAF meta definition classes that all extend `MetaDefinition`.

- - ### Field Detail

    - #### interchangeable

          static final Class<?>[] interchangeable

      List of concrete AAF classes that are interchangeable as they extend `InterchangeObject`.

    - #### abstractInterchangeable

          static final Class<?>[] abstractInterchangeable

      List of abstract AAF classes that are part of the interchangeable object hierarchy, i.e. abstract and extending `InterchangeObject`.

    - #### meta

          static final Class<?>[] meta

      List of all concrete AAF meta definition classes that all extend `MetaDefinition`.

    - #### abstractMeta

          static final Class<?>[] abstractMeta

      List of all abstract AAF meta definition abstract classes.

    - #### existingMeta

          static final Class<?>[] existingMeta

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