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

tv.amwa.maj.industry

## Annotation Type ExtendibleEnumerationItem

-     @Documented
       @Retention(value=RUNTIME)
       @Target(value=FIELD)
      public @interface ExtendibleEnumerationItem

  Labels an AUID that represents an element of an extendible enumeration. These annotations are used by the warehouse to manage a dynamic inventory of extendible enumerations at runtime.

  Using this annotation, it is possible for any AUID to become an element of an existing of new extendible enumeration at runtime. As long as the AUID is in the current classpath, add a set of elements from a class with `Warehouse.registerExtendibleEnumerationElements(Class)`. The element value should be annotated as shown for the color primaries element shown below:

           @ExtendibleEnumerationItem(target = "ColorPrimaries")
           public final static AUID SMPTE170M = Forge.makeAUID(
                   0x04010101, (short) 0x0301, (short) 0x0000,
                   new byte[] { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x06 });

  Note that the new elements are registered within the local Java virtual machine only.

  See Also:
    `Warehouse.registerExtendibleEnumerationElements(Class)`, `Warehouse.lookupExtendibleEnumeration(String)`, `TypeDefinitionExtendibleEnumeration`, `ColorPrimariesType`

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String` | `target` Name of the extendible enumeration that this labelled constant is an element for.

- - ### Element Detail

    - #### target

          public abstract String target

      Name of the extendible enumeration that this labelled constant is an element for. When used to create an element of an extendible enumeration, the name of the labelled AUID constant is used as the name of the element.

      See Also:
        `Warehouse.registerExtendibleEnumerationElements(Class)`

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